Одна проблема с динамической конфигурацией заключается в том, что в случае, если узел не перезагружается, API не дает разумного ответа, который сообщает вам, что вы сделали неправильно, вам придется ssh
войти в узел и подключить кублет журналы. Кроме того, вы должны ssh
в каждый узел и в любом случае установить флаг --dynamic-config-dir
.
Следующее сработало лучше всего для меня
- SSH в узел. Редактировать
vim /etc/systemd/system/kubelet.service
- Добавить следующие строки
--cpu-manager-policy=static \
--kube-reserved=cpu=1,memory=2Gi,ephemeral-storage=1Gi \
--system-reserved=cpu=1,memory=2Gi,ephemeral-storage=1Gi \
Нам необходимо установить флаги --kube-reserved
и --system-reserved
, поскольку они являются необходимыми условиями для установки флага --cpu-manager-policy
- Затем слить узел и удалить следующую папку
rm -rf /var/lib/kubelet/cpu_manager_state
- Перезагрузите кубеле
sudo systemctl daemon-reload
sudo systemctl stop kubelet
sudo systemctl start kubelet
- Отключите узел и проверьте политику. Предполагается, что вы используете
kubectl proxy
на порту 8001.
curl -sSL "http://localhost:8001/api/v1/nodes/${NODE_NAME}/proxy/configz" | grep cpuManager