#deployment #kubernetes #kubectl
#развертывание #kubernetes #kubectl
Вопрос:
Я вижу, что могу использовать команду «kubectl set image» для обновления контейнера, используемого в развертывании, например, так:
kubectl set image deployment/myapp myapp=repo.mycompany.com/myapp/ui:beta.119
Но в некоторых ситуациях я также хотел бы использовать другую команду запуска. Есть ли способ обновить как образ, так и команду, используемые для контейнера?
Комментарии:
1. Вы можете легко сделать
kubectl edit
, который откроет yaml в редакторе. При сохранении файла, в котором применяются изменения2. Спасибо, но я не имею в виду вручную. Мне нужна какая-нибудь команда, которую я могу запустить из Bamboo.
Ответ №1:
Для этого вы могли бы использовать kubectl patch
. Запустите kubectl patch --help
, чтобы получить документы, но, насколько я могу судить, что-то вроде этого должно это сделать:
$ kubectl patch deployment <your-deployment> -p '
spec:
template:
spec:
containers:
- name: <container-name>
command: ["new", "command"]
'
Комментарии:
1. В этом примере я использовал нотацию yaml, чтобы сделать ее более читаемой, но многострочные команды не так уж хороши, когда дело доходит до программного подхода. Конечно, вы можете использовать json, если не хотите