Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal : Provide topology related information for container. #2290

Open
mJace opened this issue Aug 16, 2019 · 0 comments
Open

Proposal : Provide topology related information for container. #2290

mJace opened this issue Aug 16, 2019 · 0 comments

Comments

@mJace
Copy link
Contributor

mJace commented Aug 16, 2019

Motivation

The Topology Manager, CPU Manager, Device Manager is now in milestone for kubernetes future release.
https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/0035-20190130-topology-manager.md#new-interfaces.
https://github.com/kubernetes/kubernetes/tree/master/pkg/kubelet/cm/devicemanager
https://github.com/kubernetes/kubernetes/tree/master/pkg/kubelet/cm/cpumanager.

In short, the Topology Manager wants to allow k8s to deploy pods with hardware topology related requirement.
For example, some high speed VNF will require cpu pinning and cpu isolation, more over, the SRIOV vf that passthrough to pods by sriov-cni needs under the same numa node too.

But none of them has ability to see the system configuration for containers,
like, which cpu core that container process runs on,
and if there's any system cpu affinity set for this proccess.
And the numa node information about container's nic.

User Stories

  1. Monitor tool like prometheus/grafana can get related information and tell the admin if the VNF is under proper NUMA configuration.
  2. Topology Manager is able to make sure if the pod is deployed exactly like what it should be.

Goals

  • Provide unma/topology related information for containers.
  1. able to tell which core that container process runs on.
  2. able to tell the numa node of container's NIC.
  3. able to tell if there is any cpu affinity set for the container.

Related work

Here's my simple tool to help me get the numa information for containers.
And I think if cadvisor will support this, it would be a big help for topology manger.
https://github.com/mJace/numacc

Current work on cadvisor

I've done some work for cadvisor in my personal fork.
cadvisor is able to provide PSR information when doing 'ps' to containers now.
PSR is a ps output option, it shows which cpu that current process runs on.
mJace@6e36207
I've create a PR for this.

Future work

  1. to tell the numa node of container's NIC.
  2. to tell if there is any cpu affinity set for the container processes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants