kubernets(k8s)使用-Deployment


Deployment是⼀个⽐RS应⽤模式更⼴的API对象,可以是创建⼀个新的服务,更新⼀个新的服务,也可以是滚动升级⼀个服务。滚动升级⼀个服务。
实际是创建⼀个新的RS,然后逐渐将新RS中副本数增加到理想状态,将旧RS中的副本数减少到0的复合操作;这样⼀个复合操作⽤⼀个RS是不太好描述的,所以⽤⼀个更通⽤的Deployment来描述。

1.创建Deployment

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3		# 创建副本个数
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
      - name: nginx
        image:  docker.io/nginx:1.7.9
        imagePullPolicy: IfNotPresent  
        ports:
        - containerPort: 80
          protocol: TCP

查看deployments 创建过程
kubectl get deployments -w
在这里插入图片描述

2. 更新Deployment

Deployment 的 rollout 当且仅当 Deployment 的 pod template(例如.spec.template )中的 label 更新或者镜像更改时被触发。其他更新,例如扩容 Deployment 不会触发 rollout。

2.1 使用set image更新

kubectl set image deployment/nginx nginx=nginx:1.9.1
在这里插入图片描述

2.2 使用kubectl edit更新

在这里插入图片描述
查看rollout 状态:kubectl rollout status deployment/nginx
在这里插入图片描述

3. 暂停/重启Deployment跟新

暂停:kubectl rollout pause deployment/nginx
重启:kubectl rollout resume deployment/nginx

【例】:首先暂停deployment/nginx的更新,修改nginx版本号,查看rs发现并没有更新,此时重启deployment/nginx的更新,发现升级正常,通常用于升级过程中发现版本有问题,可暂停更新,重新修改镜像版本,再启用版本更新
更新nginx版本
在这里插入图片描述

重启nginx版本更新在这里插入图片描述
动态查看rs
在这里插入图片描述

4. 回滚Deployment

4.1 查看升级历史

kubectl rollout history deployment/nginx
在这里插入图片描述
查看版本详细信息
kubectl rollout history deployment/nginx --revision=1
在这里插入图片描述

4.2 回滚到上个版本

kubectl rollout undo deployment/nginx

4.3 回滚到指定版本

kubectl rollout undo deployment/nginx --to-revision=1

5 扩容(增加副本数)

kubectl scale deployment nginx --replicas 5
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值