Рейтинг:0

Принудительное развертывание на Rancher, когда AWS CodeBuild создает новый образ контейнера.

флаг in

У меня есть кластер Rancher 2.5, работающий на AWS EKS. Мой CI выполняется в CodeBuild через веб-перехватчик репозитория Github. buildspec.yml отлично работает, чтобы запустить сборку, пометить контейнеры и затем отправить их в мой частный реестр на AWS ECR, но я не нашел простого способа запустить обновление для развертывания в кластере, чтобы сообщить ему доступна новая версия контейнера. Как мне это сделать?

Рейтинг:0
флаг in

Для этого вам нужно получить файл kubeconfig от Rancher и поместить его куда-нибудь в репозиторий github, который клонируется CodeBuild. Затем вы изменяете файл buildspec.yml, чтобы добавить команду или команды. после сборка завершена успешно, изображения помечены и помещен в реестр, чтобы развернуть контейнер(ы) в кластере. В большинстве случаев это означает, что это произойдет в самом конце раздела post_build файла buildspec.yml. Что-то вроде этого:

- kubectl установить развертывание образа <your_deployment> <your_deployment>=<docker_registry_or_your_private_registry>/<your_container>:<the_tag_you_just_created> --record=true --kubeconfig=<location_of_kubeconfig_in_the_repo>

Это вызовет изменение, но имейте в виду новый тег должен отличаться от тега, в котором сейчас выполняется развертывание.. В противном случае ничего не произойдет, потому что K8S считает, что развертывание не требуется, если тег тот же. Вот почему использование :последний в ваших тегах не будет работать с этим, и в первую очередь это плохая идея.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.