Это распространенная ошибка. В соответствии с документацией :
Примечание. Развертывание развертывания запускается тогда и только тогда, когда изменяется шаблон Pod развертывания (то есть .spec.template), например, еслиярлыки или изображения контейнера шаблона обновляются. Другие обновления, такие как масштабирование развертывания, не запускают развертывание.
Ваша проблема, связанная с тегом образа, не меняется: :latest
развернуто, и вы запрашиваете развертывание :latest
. Без изменения имени изображения, без развертывания.
Для изменения этого я предлагаю вам использовать переменные подстановки , особенно COMMIT_SHA
или SHORT_SHA
. Вы не можете сделать это в документации:
доступно только для запускаемых сборок
Это означает, что эта переменная заполняется только тогда, когда сборка запускается автоматически, а не вручную.
Для запуска вручную вы должны указать свою собственную переменную, например,
gcloud builds submit --substitutions=COMMIT_SHA=<what you want>
и обновить скрипт сборки следующим образом:
# This steps clone the repository into GCP
- name: gcr.io/cloud-builders/git
args: ['clone', 'https:///user/:password@github.com/PatrickVibild/scrappercontroller']
# This step runs the unit tests on the src
- name: 'docker.io/library/python:3.7'
id: Test
entrypoint: /bin/sh
args:
- -c
- 'pip install -r requirements.txt && python -m pytest src/tests/**'
#This step creates a container and leave it on CloudBuilds repository.
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/abiding-robot-255320/scrappercontroller:$COMMIT_SHA', '.']
#Adds the container to Google container registry as an artefact
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/abiding-robot-255320/scrappercontroller:$COMMIT_SHA']
#Uses the container and replaces the existing one in Kubernetes
- name: 'gcr.io/cloud-builders/kubectl'
args: ['set', 'image', 'deployment/scrappercontroller', 'scrappercontroller-sha256=gcr.io/abiding-robot-255320/scrappercontroller:COMMIT_SHA']
env:
- 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
- 'CLOUDSDK_CONTAINER_CLUSTER=scrapper-admin'
И во время развертывания, вы должны увидеть эту строку:
Step #2: Running: kubectl set image deployment.apps/test-deploy go111=gcr.io/<projectID>/postip:<what you want>
Step #2: deployment.apps/test-deploy image updated
Если вы этого не видите, это означает, что ваше развертывание не учитывает.