Thanks for replying @thockin
Specifically I’m trying to set
static. This is for running a database. Right now the context switches are very bad for performance and cpu-pinning brings a lot of the lost performance back. (You can read my article here: https://www.scylladb.com/2018/08/09/cost-containerization-scylla/) So basically I need to ensure that the proper cpuset-cpu is passed correctly on the docker layer which depends on having the cpu-manager-policy as static on the kubelets.
The steps I’m using right now are these:
kubectl drain $NODE_NAME --force --ignore-daemonsets --delete-local-data --grace-period=60
gcloud compute --project "skilled-adapter-452" ssh --zone "us-east1-b" "$NODE_NAME"
sudo vi /etc/default/kubelet
sudo vi /home/kubernetes/kubelet-config.yaml
sudo rm /var/lib/kubelet/cpu_manager_state
sudo systemctl restart kubelet
sudo journalctl -u kubelet
# Check the results
kubectl uncordon $NODE_NAME
But as I mentioned before, they get rolled back in less than 24h.
I completely understand what you are saying about arbitrary changes and long-term support but I don’t think cpu-manager-policy static is something unreasonable.
Again, thanks for taking the time to help out!