Урок 2: главная идея — желаемое состояние против фактического состояния
Это единственная идея, которую нужно вынести из этого урока, и всё остальное в Kubernetes построено на ней. Вместо того чтобы самому выполнять команду за командой и надеяться, что всё останется в порядке, вы пишете один файл, который описывает «желаемое состояние» — как всё должно выглядеть, наприме
Это как термостат: вы устанавливаете его на 22 градуса, а устройство постоянно проверяет температуру и включается или выключается, чтобы реальность соответствовала тому, что вы попросили.
- Желаемое состояние
- Описание, которое вы объявляете в файле — как должна выглядеть система: какие компоненты работают, сколько реплик и с какой конфигурацией. Это «цель», к которой стремится Kubernetes.
- Фактическое состояние
- То, что на самом деле работает в кластере в данный момент — сколько Pod'ов сейчас живо и каков их статус. Именно это Kubernetes измеряет и сравнивает с желаемым состоянием.
- Reconciliation
- Непрерывный цикл, в котором Kubernetes сравнивает фактическое состояние с желаемым, и если есть расхождение — действует, чтобы его закрыть (создавая, удаляя или заменяя компоненты), пока оба не совпадут.
- Декларативная конфигурация
- Подход, при котором вы описываете конечный результат, который хотите («пусть будет 3 реплики»), и позволяете системе решать, как этого достичь — в отличие от императивного подхода, где вы сами задаёте каждый шаг.