Ability to Define Specific CPUs/Cores for ETCD container
Problem
In production environments it is required to have the ability to define the specific CPUs or cores for the ETCD container, so as to ensure it does not impact other applications using guaranteed CPUs as defined via kubelet’s cpu manager policy.
Environment
Platform9 Edge Cloud - v5.3.
Kuberneted version-1.20.
Cause
Since ETCD runs as Docker container and is not managed by Kubelet, it doesn't inherit the kubelet cpu manager policy and by default has usage of all available cpus in the system.
Workaround
Warning
The below change will not persist across cluster upgrade
Please find the steps below to set specific CPUs for ETCD container. Note that the same will have to be done on each master node part of the cluster, one node at a time to ensure quorum is maintained
Stop the Stack and set required permission:
$ sudo systemctl stop pf9-hostagent pf9-nodeletd
$ sudo /opt/pf9/nodelet/nodeletd phases stop
$ sudo chmod 644 /opt/pf9/pf9-kube/master_utils.shEdit the file
/opt/pf9/pf9-kube/master_utils.shto addcpuset-cpusargument:
Start the stack
Validation post stack startup:
Resolution
To persist the changes across upgrades the internal configurations will be reconfigured in the SMCP-5.11 release.
Additional Information
The ETA for the release SMCP-5.11 is not confirmed, you can track the progress by opening a support request mentioning the jira id- AIR-659.
Last updated
