kubernetes Deployment Pod的升级回滚

一、Deployment的升级

  1. 制作两个自己的镜像 image
    webserver:1.0
    webserver:2.0
  2. 创建yaml文件
    vim wbdweb-deploy.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: wbdwebserver-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      name: wbdwebserver
  template:
    metadata:
      labels:
        name: wbdwebserver
    spec:
      containers:
        - name: wbdwebserver
          image: webserver:1.0
          ports:
            - containerPort: 80

vim wbdweb-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: wbdwebserver-service
spec:
  ports:
    - port: 8008
      targetPort: 80
      protocol: TCP
      nodePort: 30008
  type: NodePort
  selector:
    name: wbdwebserve

执行创建应用的命令

kubectl create -f wbdweb-deploy.yaml
kubectl create -f wbdweb-service.yaml

3.登陆查看应用:

http://外网ip:30008

4.升级Pod
修改 wbdweb-deploy.yaml 文件里面的镜像版本,如下:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: wbdwebserver-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      name: wbdwebserver
  template:
    metadata:
      labels:
        name: wbdwebserver
    spec:
      containers:
        - name: wbdwebserver
          image: webserver:2.0 #镜像版本修改
          ports:
            - containerPort: 80

执行升级命令

kubectl apply -f wbdweb-deploy.yaml

稍等一会,执行命令查看新的pod是否running

kubectl get pods --all-namespaces

登录查看,新版本的功能

http://外网ip:30008

二、回滚

发现新本有问题请执行命令进行回滚,回滚到上一个版本

kubectl rollout undo deployment wbdwebserver-deployment(deployment名称)
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐