TransWikia.com

Upgrade image in a Deployment's pods

Server Fault Asked on November 12, 2021

I have a Deployment with 3 replicas of a pod running the image 172.20.20.20:5000/my_app, that is located in my private registry.

I want do a rolling-update in the deployment when I push a new latest version of that image to my registry.

I push the new image this way (tag v3.0 to latest):

$ 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

But nothing happens. Pods’ images are not upgraded. This is my deployment definition:

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

Is there a way to do that automatically? Should I run a command like rolling-update like in ReplicaControllers?

One Answer

There is no reason to pull latest image from Kubernetes point of view - it's already available on the system and pods are in the declared state. Use proper image tagging and you will be OK.

There are some workarounds based on imagePullPolicy: Always, but IMO I don't like them: https://stackoverflow.com/questions/33112789/how-do-i-force-kubernetes-to-re-pull-and-image

Answered by Jan Garaj on November 12, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP