Прежде чем применять какие-либо изменения, убедитесь, что в них включены все необходимые изменения, соответствующие версии 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
до:
Вы также можете посмотреть: Github.com: Kustomize
Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы к этому.