Тег изображения в файле контроллера репликации

Я отправил изображение в Реестр контейнеров 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 и вставьте его в реестр контейнеров. Однако я бы не рекомендовал это.

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