【Kubernetes】Pod学习(十五)Deployment部署的回滚、暂停和恢复

此文为学习《Kubernetes权威指南》的相关笔记

学习笔记:

Deployment具备升级的功能,允许我们在运行过程中升级Deployment到新的运行版本,与之对应的是,在某些情况下(比如新的Deployment不稳定时)可能需要将Deployment回滚到旧版本。

在默认情况下,所有Deployment的发布历史都被保留在系统中,以便我们随时进行回滚。

值得注意的是,只有在Deployment的Pod模板(spec.template)被更改时才会创建新的修订版本。

于此同时,K8s允许暂停(pause)Deployment的更新操作,然后进行配置修改,再进行恢复(resume)。

在后面的实操中可以看到,在恢复之前进行的所有配置修改,都将在同一次升级中完成,归为一个版本上。

这样的设定避免了进行复杂配置修改时,频繁出发更新操作的情况

一、查看kubectl rollout命令使用方法

kubectl rollout命令是回滚、暂停和恢复操作用到的主要命令

查看该命令详情如下

可以看到,该命令的操作的资源对象是:deployments\daemonsets\statefulsets

主要子命令是:

  • history:查看历史版本
  • pause:暂停更新
  • restart:重启资源对象
  • resume:恢复暂停的额资源对象
  • status:查看资源对象状态
  • undo:回滚到一个历史版本

# kubectl rollout -h
Manage the rollout of a resource.
 Valid resource types include:

  *  deployments
  *  daemonsets
  *  statefulsets

Examples:
  # Rollback to the previous deployment
  kubectl rollout undo deployment/abc
 
  # Check the rollout status of a daemonset
  kubectl rollout status daemonset/foo

Available Commands:
  history     View rollout history
  pause       Mark the provided resource as paused
  restart     Restart a resource
  resume      Resume a paused resource
  status      Show the status of the rollout
  undo        Undo a previous rollout

Usage:
  kubectl rollout SUBCOMMAND [options]

Use "kubectl <command> --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all commands).

2、测试Deployment的回滚操作

1、创建nginx-deployment

与探究Deployment升级时创建的Deployment相同,创建3个带有nginx:1.7.9容器的Pod副本

apiVersion: apps/v1
kind: Deployment
metadata:
 name: nginx-deployment
spec:
 replicas: 3
 selector:
  matchLabels:
   app: nginx
 template:
  metadata:
   name: nginx
   labels:
    app: nginx
  spec:
    containers:
    - name: nginx
      image: nginx:1.7.9
      imagePullPolicy: IfNotPresent
      ports:
      - containerPort: 80

需要注意的时,在创建时添加参数--record,可以在history命令提供的版本列表中看到这次版本更替的操作命令

# kubectl create -f rollback-deployment

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值