Массовое обновление всех версий API развертывания kubernetes - PullRequest
0 голосов
/ 04 апреля 2020

Я использую apiversion : apps/v1beta2 в большинстве случаев, однако кластерная версия Kubernetes 1.14 рекомендуется использовать apiversion : apps/v1. Также v1beta2 будет устаревшим с Kubernetes 1.16.

Есть ли лучший вариант для сокращения ручной работы и обновления всего развертывания, которое имеет версию apps/v1beta2 до v1.

Или я могу использовать patch все развертывание.

1 Ответ

1 голос
/ 06 апреля 2020

Прежде чем применять какие-либо изменения, убедитесь, что в них включены все необходимые изменения, соответствующие версии 1.16.

Некоторые изменения:

Развертывание в API-версиях extensions / v1beta1 , apps / v1beta1 и apps / v1beta2 больше не поддерживается

  • Выполните миграцию для использования версии API apps / v1 , доступной начиная с v1.9. Существующие постоянные данные могут быть получены / обновлены с помощью новой версии.
  • Заметные изменения:
    • spec.rollbackTo удалено
    • spec.selector теперь требуется и является неизменным после создания; использовать существующие шаблоны ярлыков в качестве селектора для бесшовных обновлений
    • spec.progressDeadlineSeconds теперь по умолчанию 600 секунд (по умолчанию в extensions/v1beta1 не было крайнего срока)
    • spec.revisionHistoryLimit теперь по умолчанию - 10 (по умолчанию в apps/v1beta1 было 2, по умолчанию в extensions/v1beta1 было сохранено все)
    • maxSurge и maxUnavailable теперь по умолчанию 25% (по умолчанию в extensions/v1beta1 был 1)

- Kubernetes.io: устаревшие API в 1.16

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


kubectl patch

Существует официальная документация по этому поводу: Kubernetes.io: обновление api объекта kubectl patch

К сожалению kubectl patch изменил определение YAML из примера, но не смог изменить apiVersion.


kubectl convert

В kubectl встроен инструмент с именем kubectl convert, который преобразует существующие YAML в соответствии с версией 1.16. Пожалуйста, имейте в виду, что это скоро устареет. Взгляните на статью об этом: Medium.com: Kubectl конвертирует обновление api-версий автоматически


shell script

Вы также можете написать скрипт на выбранном вами языке, который изменится:

  • apiVersion: apps/v1beta2
  • apiVersion: apps/v1beta1

до:

  • apiVersion: apps/v1

Вы также можете посмотреть: Github.com: Kustomize

Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы к этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...