Повторное развертывание последнего изображения без использования `kubectl apply -f file` - PullRequest
0 голосов
/ 27 июня 2019

У нас есть развертывание в кластере, мы хотим сказать ему, чтобы получить последний образ и повторно развернуть. Если я запускаю kubectl apply -f deployment.yml, этот файл фактически не изменился. Как мне просто указать кластеру использовать более новую версию образа?

1 Ответ

1 голос
/ 27 июня 2019

Согласно документации:

Примечание. Развертывание развертывания запускается тогда и только тогда, когда изменяется шаблон модуля развертывания (то есть .spec.template), например, если обновляются метки или образы контейнера шаблона. Другие обновления, такие как масштабирование развертывания, не запускают развертывание.

Пожалуйста, рассмотрите возможность использования:

kubectl patch deployment my-nginx --patch '{"spec": {"template": {"spec": {"containers": [{"name": "nginx","image": "nginx:1.7.9"}]}}}}'

kubectl --record deployment.apps/nginx-deployment set image deployment.v1.apps/nginx-deployment nginx=nginx:1.9.1

kubectl edit deploy/<your_deployment> --record

Документация по Обновлению развертывания и Образы контейнеров .

В соответствии с лучшими практиками, пожалуйста, обратите внимание:

Вам следует избегать использования тега : latest при развертывании контейнеров в производстве, так как сложнее отслеживать, какая версия образа работает, и сложнее правильно выполнить откат.

Однако, если вы хотите всегда принудительно вытягивать новое изображение, вы можете использовать на эти опции :

   - set the imagePullPolicy of the container to Always.
   - omit the imagePullPolicy and use :latest as the tag for the image to use.
   - omit the imagePullPolicy and the tag for the image to use.
   - enable the AlwaysPullImages admission controller.

Надеюсь, эта помощь.

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