Deployment解释

典型的应用场景包括:
定义Deployment来创建Pod和ReplicaSet
滚动升级和回滚应用
扩容和缩容
暂停和继续Deployment

演示过程

1、生成一个yaml文件 --dry-run尝试运行

kubectl create deployment web --image=nginx --dry-run -o yaml >web.yaml

2、修改yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: web
  name: web
spec:
#定义2个副本数
  replicas: 2
  selector:
    matchLabels:
      app: web
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: web
    spec:
      containers:
      #指定nginx版本
      - image: nginx:1.14
        name: nginx
        resources: {}
status: {}

3、创建pod

kubectl apply -f web.yaml

在这里插入图片描述
node节点查看镜像版本
在这里插入图片描述
4、nginx升级至V1.19版本

kubectl set image deployment web nginx=nginx:1.19

查看升级结果命令

kubectl rollout status deployment web

在这里插入图片描述
5、查看升级版本

kubectl rollout history deployment web

在这里插入图片描述
6、回退版本
回退上个版本

kubectl rollout undo deployment web

在这里插入图片描述
回退指定版本

#此处的2对应查看升级版本中的2
kubectl rollout undo deployment web --to-revision=2

在这里插入图片描述
7、弹性扩容

kubectl scale deployment web --replicas 10
#如果集群支持 horizontal pod autoscaling 的话,还可以为Deployment设置自动扩展
kubectl autoscale deployment web --min=10 --max=15 --cpu-percent=80

在这里插入图片描述

Logo

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

更多推荐