Контейнеры и оркестрация · проверено по источникам

Цикл согласования Kubernetes

Цикл согласования — повторяющаяся работа контроллера: наблюдать состояние, сравнить его с заданной целью, выполнить корректирующее действие и проверить результат снова. Это способ поддерживать систему при изменениях и временных отказах.

Также ищут: control loop reconciliation · цикл согласования · controller loop · Reconciliation loop

Практический смысл

Почему это важно

Ручное исправление отдельного Pod может исчезнуть, когда контроллер восстановит объявленную конфигурацию. Постоянную правку вносите в объект, который задаёт цель. Если причина сбоя не меняется, повторные попытки лишь повторяют отказ: по их числу нельзя обещать восстановление.

Доказательная часть

Что подтверждено

  1. Контроллер повторно наблюдает состояние и выполняет изменения для сближения с заявленной целью. Поддержание цели не заканчивается после одной успешной операции.

    Граница применимости: Модель управляющего цикла Kubernetes.

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

    Граница применимости: Граница работы контроллеров и планировщика Kubernetes.

  3. Удалённый вручную Pod под управлением Deployment может появиться снова как новый объект: контроллер восстанавливает заданное число экземпляров. Для постоянного уменьшения меняют цель Deployment.

    Граница применимости: Deployment с неизменным целевым числом экземпляров; новый Pod получает новую идентичность.

  4. Deployment управляет ReplicaSet, а ReplicaSet управляет Pod. Изменения проходят несколько связанных управляющих циклов, поэтому принятие нового Deployment не означает мгновенное создание готового приложения.

    Граница применимости: Связь контроллеров Deployment и ReplicaSet в Kubernetes.

  5. Основа согласования — наблюдаемое состояние и цель. Корректность управления нельзя связывать с ожиданием, что одно событие всегда приводит ровно к одному необратимому действию.

    Граница применимости: Модель управляющего цикла Kubernetes; доставка событий и внешние побочные эффекты требуют отдельного проектирования.

Граница терминов

Не путать

Целевое состояние Kubernetes

Цикл согласования выполняет повторные действия, целевое состояние задаёт направление этих действий. Ни число повторов, ни успешная запись цели не доказывают готовность Pod.

Перед спецификацией

Что проверить

  1. Найдите объект, в котором хранится требуемое состояние.
  2. Проследите владельцев от Deployment через ReplicaSet до Pod.
  3. Проверьте, меняется ли наблюдаемое состояние после попыток контроллера.
  4. Устраните постоянную причину отказа вместо повторной отправки той же конфигурации.
  5. Для долговременной правки измените цель, а не только один созданный экземпляр.
  6. В собственном контроллере проверяйте безопасность повторного действия после частичного сбоя.
Открытые основания

Первоисточники

  • Официальная документация

    Controllers

    Kubernetes · Kubernetes current documentation

    Определяет управляющий цикл, целевое состояние и повторяющееся согласование наблюдаемого состояния с заданным.

    Открыть первоисточник
  • Официальная документация

    Kubernetes Scheduler

    Kubernetes · Kubernetes current documentation

    Описывает отбор допустимых узлов, оценку вариантов и назначение узла для ещё не размещённого Pod.

    Открыть первоисточник
  • Официальная документация

    Deployments

    Kubernetes · Kubernetes current documentation

    Описывает управление ReplicaSet, стратегии обновления, параметры maxUnavailable и maxSurge, ход выпуска и историю для отката.

    Открыть первоисточник
  • Официальная документация

    Pod Lifecycle

    Kubernetes · Kubernetes current documentation

    Описывает назначение узла, состояния Pod и контейнеров, перезапуски контейнеров и создание нового Pod с другим UID взамен прежнего.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие