I need help to see if the below behavior can be achieved in the current kubernetes framework.
The cpu manager feature is enabled in my cluster. I created a pod that asks for 2 cpus (cpu requests == cpu limits == 2). 2 cpus are allocated (Cpus_allowed_list: 4,6).
Assume I have a high priority time-critical application and it is running on core 4 (i use pthread_setaffinity() to bind the application to core 4).
Now, if I log in to pod/container and run any debug command (like ls, top, ifconfig, grep, etc … ), all of those processes should run on core 6 (including the bash login process). None of those debug processes should run on core 4 (so that my application is not disturbed). How can I achieve this?
Kubernetes version: 1.17.3
Cloud being used: bare-metal
Installation method: Manual method (following Installing kubeadm - Kubernetes)
Host OS: CentOS 7
CNI and version: calico, 3.11.2
CRI and version: docker, 19.03.6