LINUX.ORG.RU

Kubernetes: Как правильно считать количество подов на ноду (или на кластер)

 


0

1

Привет

У Kubernetes есть ограничения по количеству подов на worker node’у и на кластер и т. д.

https://kubernetes.io/docs/setup/best-practices/cluster-large/

A cluster is a set of nodes (physical or virtual machines) running Kubernetes agents, managed by the control plane. Kubernetes v1.22 supports clusters with up to 5000 nodes. More specifically, Kubernetes is designed to accommodate configurations that meet all of the following criteria:

No more than 110 pods per node
No more than 5000 nodes
No more than 150000 total pods
No more than 300000 total containers

Подскажите, пожалуйста, как правильно подсчитать количество подов?

Например, Job’ы считаются? Ведь на какой-то промежуток времени это запущенный под, насколько я понимаю. Если у нас ограничение на 110 подов на ноду, у нас 110 подов из ReplicaSet/StatefulSet/DaemonSet и плюс 50 Job, мы укладываемся в ограничение?

★★★★★

Подскажите, пожалуйста, как правильно подсчитать количество подов?

А какие варианты? Pod — это конкретный объект. Он или существует, или нет.

Например, Job’ы считаются?

Job-ы — не считаются. Pod-ы, создаваемые Job-ами — считаются.

Если у нас ограничение на 110 подов на ноду, у нас 110 подов из ReplicaSet/StatefulSet/DaemonSet и плюс 50 Job, мы укладываемся в ограничение?

Если все Job-ы в Finished, то укладываемся. Если хотя бы одна из них Running, то не укладываемся.

intelfx ★★★★★
()

Если у нас ограничение на 110 подов на ноду

Это не твердые ограничения вида «при 111 подах всё загорится» а скорее «ну, если 110 то все вроде нормально».

Все эти цифры замеряны на глазок во времена 1.9, к примеру Red Hat делает дефолтно лимит 250 подов на ноду и официально поддерживает до 500 подов на ноде.

vrutkovs ★★
()
Ответ на: комментарий от vrutkovs

А что значит «делает дефолтно лимит 250 подов»? Это где-то конфигурится?

И что будет если сконфигурено (или задокументировано) 100 подов на ноду, а у меня уже на всех нодах по 100; новый под откажется разворачиваться?

Kroz ★★★★★
() автор топика
Ответ на: комментарий от Kroz

А что значит «делает дефолтно лимит 250 подов»? Это где-то конфигурится?

Да, это параметр кубелету

новый под откажется разворачиваться?

Да, шедулер скажет «нет места нигде, покрутись пока в Pending»

vrutkovs ★★
()
Ответ на: комментарий от vrutkovs

Хорошо, а как быть с джобами?

Если у меня сконфигурен лимит 100 подов на ноду, на ноде крутится 90 подов в ReplicaSet/StatufulSet/DaemonSet и в добавок 10 завершенных джоб, я могу на этой ноде еще один под развернуть?

Kroz ★★★★★
() автор топика
Ответ на: комментарий от Kroz

Job это указание запустить под в определенное время. Их может быть до 4 млн (ну или сколько там etcd поддерживает).

10 завершенных подов будут считаться в «завершенные контейнеры». Их периодически чистит кубелет, емнип 100 остаеется на ноде для чтения логов (тоже регулируется флагом)

vrutkovs ★★
()
Ответ на: комментарий от Kroz

В количестве завершенных подов считаются только поды. Джоб/репликасет/демонсет - абстракции, которые помогают создавать поды

vrutkovs ★★
()
Ответ на: комментарий от vrutkovs

Я не говорю про репликасет/демонсет.

В количестве подов (при расчёте на ноду) не считаются завершенные джобы несмотря на то, что в выхлопе kubectl get pods они присутствуют. Так?

Вот: https://imgur.com/a/7RNDgA5

Kroz ★★★★★
() автор топика
Ответ на: комментарий от Kroz

В количестве подов (при расчёте на ноду) не считаются завершенные джобы несмотря на то, что в выхлопе kubectl get pods они присутствуют. Так?

да

vrutkovs ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.