В чем разница между текущей и доступной репликами pod в развертывании kubernet?
Я пытаюсь испачкать руки на Кубернетесе. Я запускаю следующую команду:-
kubectl get deployment
и я получаю следующие заголовки в выводе:
Я не могу найти разницу между 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
поле показывает количество реплик, которые проходят проверки готовности (если определены).
Является
Current
всегда <=Desired
? Нет, текущее значение может быть больше желаемого во время обновления развертывания.Является
Up-to-date
всегда <=Current
? Я считаю, что ответ здесь - да.Является
Up-to-date
>Current
? Нет, обновление должно быть таким же, как текущее, или меньше текущего во время обновления развертывания.Является
Available
всегда <=Current
? Да.
Я рекомендую вам пройти обновление развертывания и масштабировать / использовать его при использовании watch
контролировать эти поля, поскольку контроллер сходится текущее состояние к желаемому состоянию.