Есть ли поддерживаемый/рекомендуемый способ установить эти ограничения для компонентов уровня управления, таких как kube-apiserver?
Да, вы можете использовать инициализация кубеадм
с патчи
флаг командной строки. смотреть на эта страница на гитхабе. документация эта вещь может быть также заинтересована. См. также официальную документацию: Настройка плоскости управления с помощью патчей:
Kubeadm позволяет передать каталог с файлами патчей в Инитконфигуратион
и ПрисоединитьсяКонфигурация
на отдельных узлах. Эти исправления можно использовать в качестве последнего шага настройки перед записью манифестов компонентов плоскости управления на диск.
Вы можете передать этот файл инициализация кубеадм
с --config <ВАША КОНФИГУРАЦИЯ YAML>
:
Версия API: kubeadm.k8s.io/v1beta3
вид: инитконфигуратион
патчи:
каталог: /home/user/somedir
Вот пример того, как установить ресурсы на kube-apiserver:
Создавать куб-apiserver.yaml
файл в каком-либо каталоге (например, /дом/пользователь/патчи
) со следующим содержанием:
спецификация:
контейнеры:
- имя: kube-apiserver
Ресурсы:
Запросы:
память: 512Ми
пределы:
память: 1024Ми
Затем используйте флаг --patches каждый раз во время обновления узла: используйте узел обновления kubeadm --patches /home/user/patches/
или же применить обновление kubeadm v1.22.4 --patches /home/user/patches/
Другим вариантом будет предоставление дополнительных флагов компонентам уровня управления. Для этого проверьте это руководство: Настройка плоскости управления с помощью флагов в ClusterConfiguration:
Кубадм Конфигурация кластера
Объект предоставляет пользователям способ переопределить флаги по умолчанию, переданные компонентам плоскости управления, таким как APIServer, ControllerManager, Scheduler и т. д. Компоненты определяются с использованием следующих структур:
API-сервер
контроллерменеджер
планировщик
и т. д.