在部署的窗格中升级图像

时间:2016-04-28 07:04:23

标签: kubernetes

我有一个Deployment,其中包含3个运行图像172.20.20.20:5000/my_app的广告连播的副本,位于我的私人注册表中。

当我将该图像的新latest版本推送到我的注册表时,我想在部署中进行滚动更新。

我以这种方式推送新图像(标记v3.0到最新版本):

$ 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

但没有任何反应。荚'图像未升级。这是我的部署定义:

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

有没有办法自动完成?我应该像ReplicaControllers一样运行像rolling-update这样的命令吗?

1 个答案:

答案 0 :(得分:1)

为了upgrade a Deployment,您必须使用新映像修改部署资源。例如,将172.20.20.20:5000/my_app:v1更改为172.20.20.20:5000/my_app:v2。由于您只是在Docker注册表中修改图像并没有注意到更改。

如果您(手动)终止各个Pod,则部署将重新启动它们。由于部署映像指定了最新的"标签Kubernetes将下载最新版本(现在" v3"在您的情况下)由于隐含"Always" ImagePullPolicy