Как установить лимит на кубелет из кубернетес? - PullRequest
2 голосов
/ 01 ноября 2019

Я использую кластер kubernetes с одним главным узлом и двумя рабочими с четырьмя процессорами и оперативной памятью 256 МБ. Я хотел знать, сколько процессора и оперативной памяти необходимо для kubelet.

Есть ли способ установить предел (процессор, память) для kubelet ?. Я искал документацию, но нашел только требования к рабочему узлу.

1 Ответ

1 голос
/ 01 ноября 2019

Я думаю, вы должны понимать, что делает kubelet. Это можно найти в документации по kubelet .

kubelet - это основной «агент узла», который работает на каждом узле. Он может зарегистрировать узел с помощью apiserver, используя одно из: имя хоста;флаг для переопределения имени хоста;или специальная логика для облачного провайдера.

Kubelet работает в терминах PodSpec. PodSpec - это объект YAML или JSON, который описывает модуль. Kubelet принимает набор PodSpecs, которые предоставляются с помощью различных механизмов (главным образом через apiserver) и гарантирует, что контейнеры, описанные в этих PodSpecs, работают и исправны. Kubelet не управляет контейнерами, которые не были созданы Kubernetes.

Кроме PodSpec от apiserver, существует три способа предоставления манифеста контейнера для Kubelet.

Файл: путь передается как флаг в командной строке. Файлы по этому пути будут периодически проверяться на наличие обновлений. Период мониторинга составляет 20 с по умолчанию и настраивается с помощью флага.

Конечная точка HTTP: конечная точка HTTP передается в качестве параметра в командной строке. Эта конечная точка проверяется каждые 20 секунд (также настраивается с помощью флага).

HTTP-сервер: Кублет также может прослушивать HTTP и отвечать на простой API (в настоящее время он не указан) для отправки нового манифеста.

Существует несколько флагов, которые вы можете использовать с kubelet, но в основном это УСТАРЕЛО , и параметр должен быть установлен через конфигурационный файл, указанный в флаге Kubelet --config. Это объясняется на Задать параметры Kubelet с помощью файла конфигурации .

Флаги, которые могут вас заинтересовать:

--application-metrics-count-limit int

Максимальное количество метрик приложения для хранения (на контейнер) (по умолчанию 100) (УСТАРЕЛО)

--cpu-cfs-quota

Включение квоты CPU CFS для контейнеров, которые указываютОграничения ЦП (по умолчанию true) (УСТАРЕЛО)

--event-qps int32

Если> 0, ограничьте число созданий событий в секунду этим значением. Если 0, неограниченно. (по умолчанию 5) (УСТАРЕЛО)

--event-storage-age-limit string

Максимальная продолжительность хранения событий (для каждого типа). Значение - это список значений ключей, разделенных запятыми, где ключами являются типы событий (например, creation, oom) или «default», а значением является длительность. По умолчанию применяется ко всем не указанным типам событий (по умолчанию "default = 0") (УСТАРЕЛО)

--event-storage-event-limit string

Максимальное количество событий для хранения (натип). Значение - это список значений ключей, разделенных запятыми, где ключи - это типы событий (например: creation, oom) или «default», а значение - целое число. По умолчанию применяется ко всем неопределенным типам событий (по умолчанию "default = 0") (УСТАРЕЛО)

--log-file-max-size uint

Определяет максимальный размер файла журналарасти до. Единица мегабайт. Если значение равно 0, максимальный размер файла не ограничен. (по умолчанию 1800)

--pods-per-core int32

Количество модулей на ядро, которые могут работать на этом Kubelet. Общее количество модулей в этом Kubelet не может превышать max-pod, поэтому max-pods будут использоваться, если в результате этого вычисления будет получено большее количество модулей, разрешенных в Kubelet. Значение 0 отключает этот предел. (УСТАРЕЛО)

--registry-qps int32

Если> 0, ограничьте значение параметра QPS для реестра в этом значении. Если 0, неограниченно. (по умолчанию 5) (УСТАРЕЛО)

...