Kubernetes поддерживает более 30 контроллеров поступления. После Авторизация и Аутентификация , Контроллеры приема являются последним шагом в 3-ступенчатом процессе до того, как Kubernetes сохранит ресурс в и т.д.
(Постоянный и высокодоступный хранилище значений ключей, используемый в качестве хранилища поддержки Kubernetes для всех данных кластера). Некоторые соответствующие контроллеры поступления для обеспечения бегающих контейнеров:
- PodsecurityPolicy : Этот вариант реализует поступление POD на основе контекста безопасности и доступных политик.
- DenyescalingExec : Когда хакеры открывают оболочки в привилегированных контейнерах, они имеют доступ к хосту. Эта опция гарантирует, что
исполнительный
иПрикрепить
Команды из привилегированных контейнеров заблокированы. - Всегда пауллевс : Несмотря на то, что существует преимущество в производительности для хранения и повторного использования изображения на узле, гигиена и гарантия того, что вы всегда запускаете актуальные изображения контейнеров, могут быть важны. Поскольку уязвимости исправляются вверх по течению, вытягивание изображений гарантирует, что последнее восстановление всегда загружается.
- Limitrange и Resourcequota : Чтобы предотвратить отрицание атак на обслуживание, и любое нересство несанкционированных процессов из установленных стручков, этот вариант наблюдает входящие запросы на нарушение этих пределов.
- Noderestriction : Это ограничивает разрешения каждого
Кубелет
, гарантируя, что он может изменить только стручки, которые связаны с ним, и свой собственный объект узла.
Noderestriction
Этот контроллер поступления ограничивает Узел
и POD
Объекты a Кубелет
может изменить. Чтобы быть ограниченным этим контроллером поступления, Кубелет
должен использовать учетные данные в Система: узел
Группа, с именем пользователя в форме Система: Узел:
Анкет Такой Кубелет
будет разрешено только изменять свой собственный Узел API
объект.
Noderestriction
плагин входного билета предотвращает Кубелет
от удаления его Узел API
объект и обеспечивает соблюдение Кубелет
Модификация ярлыков под kubernetes.io/
или k8s.io/
Префиксы следующим образом:
- Позволяет
Кубелет
Чтобы добавить/удалить/обновить эти этикетки и префиксы метки: - Предотвращает
Кубелет
от добавления/снятия/обновления метки с помощьюnode-restriction.kubernetes.io/
префикс. Этот префикс этикетки зарезервирован для администраторов, чтобы пометить ихУзел
Объекты для целей изоляции рабочей нагрузки иКубелет
не будет разрешено изменять метки с помощью этого префикса.
Использование любых других ярлыков под kubernetes.io
или k8s.io
Префиксы Kubelet зарезервированы и могут быть запрещены или разрешены Noderestriction
Входной плагин в будущем.
Будущая версия может добавить дополнительные ограничения для обеспечения Кубелет
иметь минимальный набор разрешений, необходимых для правильной работы.
Они нужны нам?
Многие расширенные функции в Kubernetes требуют включения контроллера входного билета для правильной поддержки этой функции. В результате, сервер API Kubernetes, который не настроен должным образом с правильным набором контроллеров входных средств является неполным сервером и не будет поддерживать все ожидаемые функции.
Включите контроллер входного билета
Флаг сервера API Kubernetes enable-admission-plugins
принимает запятую список плагинов управления поступлением, чтобы вызвать перед изменением объектов в кластере. Например, следующая командная строка включает Namespacelifecycle
и Limitranger
Плагины управления входом:
kube-apiserver --enable-admission-plugins=NamespaceLifecycle,LimitRanger
Примечание: В зависимости от того, как развертывается ваш кластер Kubernetes, и как начинается сервер API, вам может потребоваться применять настройки по -разному. Например, вам, возможно, придется изменить Systemd
Файл блока, если API развернут как Systemd
оказание услуг; Хотя вам, возможно, придется изменить манифестный файл для сервера API, если Kubernetes развернут самостоятельным образом Анкет
Рекомендуемый набор контроллеров приема
Для Kubernetes версии 1.10 и позже рекомендуется запустить набор контроллеров входных билетов, используя -Флаг-Адмиссия-Плугинс
Анкет
Для Kubernetes 1.9 и ранее рекомендуется запустить набор контроллеров входных билетов, используя -Адмиссия-контроль
флаг.
Оригинал: «https://dev.to/appfleet/kubernetes-admission-controllers-54cc»