Faz upgrade da imagem nos pods de uma implantação

1

Eu tenho um Deployment com 3 réplicas de um pod executando a imagem 172.20.20.20:5000/my_app , que está localizada no meu registro particular.

Eu quero fazer uma atualização contínua na implantação quando eu enviar uma nova versão latest dessa imagem para o meu registro.

Eu empurro a nova imagem dessa maneira (tag v3.0 para a última):

$ docker tag 172.20.20.20:5000/my_app:3.0 172.20.20.20:5000/my_app
$ docker push 172.20.20.20:5000/my_app

Mas nada acontece. As imagens dos pods não são atualizadas. Esta é minha definição de implantação:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: app
        image: 172.20.20.20:5000/my_app:latest
        ports:
        - containerPort: 8080

Existe uma maneira de fazer isso automaticamente? Devo executar um comando como rolling-update como em ReplicaControllers?

    
por Héctor 28.04.2016 / 09:47

1 resposta

0

Não há razão para extrair a última imagem do ponto de vista do Kubernetes - ela já está disponível no sistema e os pods estão no estado declarado. Use a marcação de imagem adequada e você ficará bem.

Existem algumas soluções baseadas em imagePullPolicy: Always , mas IMO eu não gosto delas: link

    
por 30.04.2016 / 06:24

Tags