Отвечая на вопрос в комментариях:
спасибо @david. Это необходимо сделать перед развертыванием. Мне было интересно, могу ли я прикрепить контейнер sidecar к уже развернутому (работающему) модулю.
Вы не можете прикрепить дополнительный контейнер к работающему Pod
. Вы можете обновить (исправить) определение ресурса. Это заставит воссоздать ресурс с новой спецификацией.
По поводу этой функции есть проблема с github, которая была закрыта следующим комментарием:
После обсуждения целей SIG Node, явное согласие состоит в том, что список контейнеров в спецификации модуля должен оставаться неизменным. # 27140 лучше обрабатывать с помощью kubernetes / community # 649, что позволяет запускать временный контейнер отладки в существующем модуле. Это не будет реализовано.
- Github.com: Kubernetes: Проблемы: разрешить добавление контейнеров в работающий модуль
Отвечая на часть сообщения:
Теперь, чтобы определить этот контейнер sidecar, я хочу избежать изменения сценариев развертывания, определенных поставщиком. Вместо этого мне нужен альтернативный способ прикрепить контейнер коляски к работающему модулю (ам).
Ниже я включил два метода добавления бокового элемента в Deployment
. Оба этих метода перезагрузят Pods
в соответствии с новой спецификацией:
- Используйте
$ kubectl patch
- Отредактируйте
Helm
Chart и используйте $ helm upgrade
В обоих случаях я рекомендую вам проверить, как Kubernetes обрабатывает обновления своих ресурсов. Вы можете узнать больше, перейдя по ссылкам ниже:
Используйте $ kubectl patch
Чтобы полностью избежать редактирования диаграмм Helm, можно использовать:
Этот метод исправит существующий Deployment/StatefulSet/Daemonset
и добавит сопроводительный элемент. Обратной стороной этого метода является то, что он не автоматизирован, как Helm, и вам нужно будет создать патч для каждого ресурса (каждого _10 _ / _ 11 _ / _ 12_ и т. Д.). В случае каких-либо обновлений из других источников, таких как Helm, этот патч будет отменен.
Документация по обновлению объектов API на месте:
Отредактируйте Helm
диаграмму и используйте $ helm upgrade
Этот метод потребует редактирования диаграмм Helm. Внесенные изменения, такие как добавление коляски, сохранятся в обновлениях. После внесения изменений вам нужно будет использовать $ helm upgrade RELEASE_NAME CHART
.
Вы можете прочитать больше об этом здесь:
person
Dawid Kruk
schedule
16.11.2020
YAML
определении вашегоDeployment
. Эта документация может оказаться полезной в этом отношении: Пример мультиконтейнера от Kubernetes.io. Скажите, пожалуйста, это то, что вы искали. - person Dawid Kruk   schedule 06.11.2020