В чем разница между текущей и доступной репликами pod в развертывании kubernet?

Я пытаюсь испачкать руки на Кубернетесе. Я запускаю следующую команду:-

kubectl get deployment

и я получаю следующие заголовки в выводе:

kubectll получить развертывание

Я не могу найти разницу между current а также available столбцы в следующем выводе?

Я знаю, что официальная документация дает небольшое описание каждого из этих полей, но не отвечает на мои следующие вопросы:

1) Есть Current <= Desired правда? 2) Есть Up-to-Date <= Current правда? 3) Есть Up-to-Date > Current а также Up-to-Date <= Desired правда? 4) Есть Available всегда <= Current ИЛИ это может быть> Available?

Короче говоря, какова связь между всеми этими полями?

Заранее спасибо.

1 ответ

Решение

Объект Deployment указывает желаемое состояние вашего Deployment, а контроллер Deployment Controller направляет текущее состояние системы к желаемому состоянию.

Desired поле задает количество реплик, которые вы запрашивали, а Current поле указывает количество реплик, которые в данный момент работают в системе. Up-To-Date поле указывает количество реплик, которые соответствуют текущему состоянию. Available поле показывает количество реплик, которые проходят проверки готовности (если определены).

  1. Является Current всегда <= Desired? Нет, текущее значение может быть больше желаемого во время обновления развертывания.

  2. Является Up-to-date всегда <= Current? Я считаю, что ответ здесь - да.

  3. Является Up-to-date > Current? Нет, обновление должно быть таким же, как текущее, или меньше текущего во время обновления развертывания.

  4. Является Available всегда <= Current? Да.

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

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