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

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

Целевое состояние — сохранённое описание того, что кластер должен поддерживать: например, три экземпляра приложения с заданным образом и ресурсами. Контроллеры сравнивают это описание с наблюдаемым состоянием и выполняют нужные изменения.

Также ищут: желаемое состояние · declared state · target cluster state · Desired state

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

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

Успешный ответ на отправку конфигурации подтверждает её принятие, а не готовность приложения. Для приёмки нужны наблюдаемый результат, причины задержки и рабочий запрос к сервису. Иначе поставщик сдаёт записанное намерение вместо действующей системы.

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

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

  1. Контроллер наблюдает объект и выполняет действия, чтобы фактическое состояние приблизилось к заданному. Цель хранится отдельно от результата отдельных попыток.

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

  2. Спецификация задаёт намерение, а статус и условия отражают наблюдаемый ход работы. Сохранённое описание трёх экземпляров не доказывает, что три Pod уже готовы.

    Граница применимости: Спецификация и наблюдаемое состояние объектов Kubernetes.

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

    Граница применимости: Принятие описания и планирование Pod по требованиям; ошибка недостатка ресурсов уже установлена.

  4. Для Deployment требуемое число экземпляров является частью целевого состояния. Если управляемый Pod удалён, контроллер стремится восстановить это число, а не запомнить удаление как новую цель.

    Граница применимости: Управляемые Pod Deployment при неизменной спецификации числа экземпляров.

  5. Успех одного этапа не закрывает остальные: назначение узла не означает запуск контейнера, а Running не означает готовность. Итог сравнивают с требованием к приложению, а не с одним успешным статусом.

    Граница применимости: Этапы жизненного цикла Pod Kubernetes.

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

Не путать

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

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

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

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

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

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

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

    Controllers

    Kubernetes · Kubernetes current documentation

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

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

    Pod Lifecycle

    Kubernetes · Kubernetes current documentation

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

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

    Kubernetes Scheduler

    Kubernetes · Kubernetes current documentation

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

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

    Deployments

    Kubernetes · Kubernetes current documentation

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

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

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

Спасибо!

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