Как сохранить образы развертываний Kubernetes в syn c с помощью библиотеки Devops или variables.tf? - PullRequest
0 голосов
/ 20 апреля 2020

Как полностью автоматизировать все это, чтобы версия Statefulset с кодировкой Terraform, указывающая, какое изображение (repo / name: tag) использовать для блоков состояния с синхронизацией, синхронизируется c после обновления до тега image?

Например, довольно тривиально сделать следующие 3:

  1. при изменении исходного кода для запуска копии артефакта CI terraform и последующего выпуска CD для применения terraform. все автоматы c

  2. используют переменные (variables.tf, ReplaceTokens, библиотечные переменные или некоторую комбинацию из 3) в .tf-файлах statefulset, которые определяют, какой $ (repo / name) : tag) изображение, используемое для модулей в наборе с сохранением состояния. все автоматы c

  3. при изменении исходного кода Dockerfile для запуска сборки образа и pu sh в репозиторий ACR. все автоматы c

но тогда вы действительно хотите, чтобы модули Statefulset запускали новый образ. так что вы можете использовать kubectl patch / delete как задачу после docker pu sh. но тогда ваш источник .tf и / или переменные вашей библиотеки не синхронизированы c. Конечно, есть хороший способ сделать sh изменение Dockerfile, а затем ожидать, что вскоре после этого будут запущены ваши новые модули?

1 Ответ

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

Я бы попробовал такой подход:

  • построить CI (build) конвейер для создания docker образа с тегом в качестве идентификатора коммита
  • , затем CD (release) конвейера для развертывания новая версия изображений со скриптом Helm. Вы передаете туда свой идентификатор фиксации в качестве параметра, чтобы быть уверенным, что развернут новейший идентификатор изображения docker. Поскольку у вас есть все файлы yaml в скрипте Helm, вы все равно должны быть в состоянии syn c. Для фиксации идентификатора вы можете использовать Build.SourceVersion переменную. CD запускается сразу после завершения CI.

Это то, что вы ищете?

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