Kubernetes ограничивает количество модулей, запускаемых узлом

задняя часть Kubernetes
Kubernetes ограничивает количество модулей, запускаемых узлом

Эта статья участвовала в третьем этапе курса «High Yield Update» тренировочного лагеря для создателей Nuggets. Подробнее см.:Dig Li Project | Идет третий этап тренировочного лагеря создателя, «написание» личного влияния.

1 Количество подов по умолчанию на узле

Каждому узлу Kubernetes разрешено создавать не более110Поды, иногда из-за проблем с системным оборудованием необходимо контролировать количество подов, работающих на узле Node.

То есть: вам нужно настроить максимальное количество запускаемых Pods узлов Node.

Вообще говоря, нам нужно только добавить в команду запуска kubelet–max-podsПараметры, а затем перезапустить службу Kublet, вступит в силу.

Перезапуск kubelet не влияет на существующий работающий контейнер и не приводит к перезапуску контейнера.

2 Изменить ограничение на количество запускаемых модулей

Видно, что в настоящее время кластер имеет 3 узла Node, а максимальное количество подов, которые можно запустить, равно значению по умолчанию: 110.

Далее изменим значение параметра

2.1 Модификация

  1. Войдите в узел Node и просмотритеkubeletпуть к файлу запуска
[root@VM-2-8-centos ~]# systemctl status kubelet

Как видно из рисунка выше, стартовый файл kubelet:/usr/lib/systemd/system/kubelet.service

  1. Просмотр файлов запуска systemd

можно увидеть,Environmentссылка на файл/etc/kubernetes/kubelet, пока что нам нужно только/etc/kubernetes/kubeletУвеличиватьmax-podsПеременные, то/usr/lib/systemd/system/kubelet.service, просто добавьте переменную в параметры запуска.

  1. Исправлять/etc/kubernetes/kubelet

Настоятельно рекомендуется, чтобы при изменении количества модулей, если оно уменьшается (в настоящее время работает 70 модулей, но видно 20), настоятельно рекомендуется сначала рассредоточить модули на узле, перезапустить после завершения рассредоточения и, наконец, активировать узел.

[root@VM-2-8-centos ~]# vim /etc/kubernetes/kubelet
# 增加
MAX_PODS="--max-pods=61"
  1. Исправлять/usr/lib/systemd/system/kubelet.service

Примечание. Эта переменная должна быть добавлена ​​после команды запуска, чтобы только что определенная--max-pods=61вступить в силу

  1. перезагружать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)

Показать результаты: