Каков интервал цикла управления kube-controller-manager?

Я вижу это в документации Kubernetes,

В Kubernetes контроллеры — это циклы управления, которые следят за состоянием вашего кластера, а затем при необходимости вносят или запрашивают изменения. Каждый контроллер пытается приблизить текущее состояние кластера к желаемому состоянию.

Также это,

Контроллер развертывания и контроллер заданий являются примерами контроллеров, которые входят в состав самого Kubernetes («встроенные» контроллеры).

Но я не мог найти, как работает контур управления. Проверяет ли он текущее состояние кластера каждые несколько секунд? Если да, то какое значение по умолчанию?

Я тоже нашел здесь кое-что интересное,

Каков период синхронизации контроллера развертывания для kube-controller-manager?

1 ответ

Я хотел бы начать объяснять, что kube-controller-manager — это набор отдельных процессов управления, связанных вместе для уменьшения сложности.

При этом управляющим процессом, отвечающим за мониторинг работоспособности узла и некоторых других параметров, является Node Controller, и он делает это, считывая в узлах .пульсации, отправляемые агентом Kubelet

Согласно документации Kubernete:

Для узлов есть две формы сердцебиения:

  • обновления узла
  • Объекты аренды в пределах kube-node-leaseпространство имен. Каждый узел имеет связанный с ним объект аренды.

По сравнению с обновлениями узла, аренда — это легкий ресурс. Использование аренды для тактов снижает влияние этих обновлений на производительность для больших кластеров.

kubelet отвечает за создание и обновление узлов, а также за обновление связанных с ними договоров аренды.

  • Кублет обновляет узел либо при изменении статуса, либо при отсутствии обновлений в течение настроенного интервала. Интервал обновления узлов по умолчанию составляет 5 минут, что намного больше, чем 40-секундный тайм-аут по умолчанию для недоступных узлов.
  • Kubelet создает и затем обновляет свой объект Lease каждые 10 секунд (интервал обновления по умолчанию). Обновления аренды происходят независимо от обновлений Узла. .status. Если обновление Lease завершается с ошибкой, kubelet повторяет попытку, используя экспоненциальную отсрочку, которая начинается с 200 миллисекунд и ограничивается 7 секундами.

Что касается объектов Kubernetes , работающих в узлах:

Объекты Kubernetes — это постоянные сущности в системе Kubernetes. Kubernetes использует эти сущности для представления состояния вашего кластера. В частности, они могут описывать:

  • Какие контейнерные приложения работают (и на каких узлах)
  • Ресурсы, доступные этим приложениям
  • Политики поведения этих приложений, такие как политики перезапуска, обновления и отказоустойчивость.

Объект Kubernetes — это «запись о намерениях»: как только вы создадите объект, система Kubernetes будет постоянно работать над тем, чтобы этот объект существовал. Создавая объект, вы фактически сообщаете системе Kubernetes, какой должна быть рабочая нагрузка вашего кластера; это желаемое состояние вашего кластера.

В зависимости от объекта Kubernetes механизм контроллера отвечает за поддержание желаемого состояния. Например , объект развертывания использует набор реплик внизу для поддержания желаемого описанного состояния модулей; в то время как объект Statefulset использует свой собственный контроллер для той же цели.

Чтобы увидеть полный список объектов Kubernetes, управляемых вашим кластером, вы можете запустить команду: kubectl api-resources

Другие вопросы по тегам