Эта статья участвовала в третьем этапе курса «High Yield Update» тренировочного лагеря для создателей Nuggets. Подробнее см.:Dig Li Project | Идет третий этап тренировочного лагеря создателя, «написание» личного влияния.
1 Количество подов по умолчанию на узле
Каждому узлу Kubernetes разрешено создавать не более110Поды, иногда из-за проблем с системным оборудованием необходимо контролировать количество подов, работающих на узле Node.
То есть: вам нужно настроить максимальное количество запускаемых Pods узлов Node.
Вообще говоря, нам нужно только добавить в команду запуска kubelet–max-pods
Параметры, а затем перезапустить службу Kublet, вступит в силу.
Перезапуск kubelet не влияет на существующий работающий контейнер и не приводит к перезапуску контейнера.
2 Изменить ограничение на количество запускаемых модулей
Видно, что в настоящее время кластер имеет 3 узла Node, а максимальное количество подов, которые можно запустить, равно значению по умолчанию: 110.
Далее изменим значение параметра
2.1 Модификация
- Войдите в узел Node и просмотрите
kubelet
путь к файлу запуска
[root@VM-2-8-centos ~]# systemctl status kubelet
Как видно из рисунка выше, стартовый файл kubelet:/usr/lib/systemd/system/kubelet.service
- Просмотр файлов запуска systemd
можно увидеть,Environment
ссылка на файл/etc/kubernetes/kubelet
, пока что нам нужно только/etc/kubernetes/kubelet
Увеличиватьmax-pods
Переменные, то/usr/lib/systemd/system/kubelet.service
, просто добавьте переменную в параметры запуска.
- Исправлять
/etc/kubernetes/kubelet
Настоятельно рекомендуется, чтобы при изменении количества модулей, если оно уменьшается (в настоящее время работает 70 модулей, но видно 20), настоятельно рекомендуется сначала рассредоточить модули на узле, перезапустить после завершения рассредоточения и, наконец, активировать узел.
[root@VM-2-8-centos ~]# vim /etc/kubernetes/kubelet
# 增加
MAX_PODS="--max-pods=61"
- Исправлять
/usr/lib/systemd/system/kubelet.service
Примечание. Эта переменная должна быть добавлена после команды запуска, чтобы только что определенная--max-pods=61
вступить в силу
- перезагружать
kubelet
[root@VM-2-8-centos ~]# systemctl daemon-reload
[root@VM-2-8-centos ~]# systemctl restart kubelet
2.2 Просмотр результатов модификации
Видно, что максимальное количество планируемых подов узла, выполнившего модификацию, было скорректировано до 61. Конфигурация вступает в силу.
3 Создайте новое представление мониторинга
Здесь мы можем развернуть Prometheus + Grafana, настроить представления мониторинга и лучше отразить скорость выделения подов узлов в кластере.
PromQL:
sum(kubelet_running_pod_count{node=~"$node"}) by (cluster, node) / sum(kube_node_status_allocatable_pods{node=~"$node"}) by (cluster, node)
Показать результаты: