k8s的Deployment 滚动升级

首先定义一个Deployment,并创建它

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: house-live
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: house-live
    spec:
      containers:
      - name: house-live
        image: 172.17.3.14:5000/java/house_live:11455
        resources:
          requests:
            memory: "1000Mi"
            cpu: "1000m"
          limits:
            memory: "2048Mi"
            cpu: "2000m"
        ports:
        - containerPort: 8080

然后使用

kubectl create -f house_live.yaml 来部署

使用 kubectl get pods 可以看到有2个容器已经起来了

我们来滚动升级

kubectl set image deployment/house-live  house-live=172.17.3.14:5000/java/house_live:11219

设置新的镜像版本,红色部分要与上面定义的文件里一致

再执行滚动更新操作

kubectl rollout status deployment/house-live

同样注意名字

最后去dashboard里看下是不是更新成功了

但是有个问题,以前的版本的rs会留下就是全是0的rs

并且在Dashborad里也能看到

怎么办呢

可以用以下办法删除

kubectl delete rs 后面跟rs 的名字

再去Dashboard里看下

已经没有了,是不是非常神奇

刚学部署和使用k8s,想把学习点滴记录下来,与大家一起成长,感谢帮助过我的人。

原文地址:https://www.cnblogs.com/hh2737/p/8962045.html