Тег изображения в файле контроллера репликации
Я отправил изображение в Реестр контейнеров Google с именем gcr.io/$(PROJECT_ID)/img-name:46d49ab
,
В моем контроллере репликации у меня есть:
apiVersion: v1
kind: ReplicationController
metadata:
name: go-server-rc
spec:
replicas: 3
selector:
name: go-server
version: v8
template:
metadata:
labels:
name: go-server
version: v8
spec:
containers:
- name: go-server
image: gcr.io/$(PROJECT_ID)/img-name:46d49ab
ports:
- containerPort: 5000
Это работает, но это не так, когда я удаляю хеш-тег коммита 46d49ab
, Я не хочу менять тег каждый раз, когда я фиксирую.
Я также установил триггер в Google Container Builder, чтобы после каждой фиксации получать ветку master моего репозитория и создавать изображение. gcr.io/$(PROJECT_ID)/img-name:$(COMMIT_HASH)
,
Как я могу отредактировать файл моего контроллера репликации, чтобы получить самую последнюю версию? Какие рабочие процессы используют люди?
1 ответ
Можно использовать latest
тег, чтобы Kubernetes тянул изображение каждый раз при запуске. Каждый раз, когда вы создаете новое изображение, пометьте его latest
и вставьте его в реестр контейнеров. Однако я бы не рекомендовал это.
Вы не будете знать, какие модули работают, какая версия вашего кода. Я делаю именно так, как вы упоминаете в своем вопросе. Я считаю, что лучше обновлять объект развертывания при каждом обновлении образа. Это обеспечит ожидаемое развертывание, а устранение неполадок станет яснее при просмотре изображений.