容器相关
非root用户Docker与K8S
Containerd安装
Containerd常用命令
Docker
镜像创建
国内镜像仓库
容器创建(Dockerfile)
容器系统
docker配置
docker数据管理
docker网络管理
docker容器自启动
docker镜像加速
docker问题
搭建Portainer可视化界面
Docker Swarm
Swarm搭建Docker集群
Docker Compose
Docker Compose命令
Docker Compose模板
Docker Machine
Kubernetes常用命令
k8s部署(kubeadmin)
k8s高可用部署
MiniKube
k8s1.24部署(containerd)
k8s1.24部署(docker)
部署 Dashboard
Kuboard K8S管理台
k8s权限管理
k8s网络插件
私有仓密码镜像拉取
k8s集群管理
POD--基本单位
Pod模板
Pod生命周期
Pod健康检查
初始化容器(initContainer)
Deployment--Pod的管理
Deployment模板
Deployment升级与回滚
DaemonSet控制器
StatefulSet控制器(有状态)
JOB与CRONJOB
Service--发布服务
ingress-traefix
ingress-nginx
MetalLB
存储与配置
持久存储卷
配置存储卷
资源管理
标签、选择器与注解
资源预留
调度管理
自动扩容
Proxy API与API Server
Helm--K8S的包管理器
helm常用命令
自定义Chart
私有chart仓库
helm dashboard
K8S证书过期
K8S问题解决
Harbor安装
Harbor操作
Harbor问题
Harbor升级
Docker Registry安装
Docker Registry鉴权
Registry用Nginx代理SSL及鉴权
Docker Registry问题
Istio 服务网络
常用示例
Gateway【服务网关】
kiali 可视化页面
开启HTTPS
linkerd 服务网络
本文档使用MrDoc发布
返回首页
-
+
Deployment升级与回滚
2021年5月24日 14:57
admin
#伸缩 #修改配置文件: vim deployment_nginx.yml #内容: replicas:5 #更新 kubectl apply -f deployment_nginx.yml --record #注意:一定要带参数--record,这样会把每次修改Deployment控制器时所使用的命令记录到备注字段中。 ##注意: #默认情况下,Pod不会调度到Master节点上,如果希望将Master节点也当作Node节点使用: kubectl taint node master node-role.Kubernetes.io/master- #取消: kubectl taint node master node-role.Kubernetes.io/master="":NoSchedule --- #升级 ####修改配置,然后apply应用 vim nginx-deployment.yaml kubectl apply -f nginx-deployment.yaml --record=true #添加参数--record=true,查看history时才会显示操作信息 ####直接设置配置 kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1 ####直接修改配置 kubectl edit deployment/nginx-deployment --- ##查看更新过程 kubectl rollout status deployment/nginx-deployment #如果卡住,使用 Ctrl + C 结束 kubectl get rs --- ##注意:多重更新 ####如果Deployment的上一次更新正在进行,此时用户再次发起Deployment的更新操作,那么Deployment会为每一次更新都创建一个Replicaset,而每次在新的ReplicaSet创建成功后,会逐个增加Pod副本数量,同时将之前正在扩容的ReplicaSet停止扩容(更新),并将其加入旧版本ReplicaSet列表中,然后开始缩容至0的操作。 --- ##升级方式: #recreate:所有现有的Pod都会在创建新的Pod之前被终止。 #rollingUpdate:表示以滚动更新的方式更新Pod,并可以通过maxunavailable和maxsurge参数控制滚动更新过程。 --- ####更新的暂停 当使用rollingUpdate滚动更新时,可暂停更新以达到金丝雀发布。 kubectl rollout pause deploy [Deployment名称] --- ####更新的恢复 当使用rollingUpdate滚动更新时,验证完没有问题后,恢复更新操作。 kubectl rollout resume deploy [Deployment名称] --- #回滚 #查看历史变更记录 kubectl rollout history deployment [Deployment名称] ![](/media//202105/2021-05-24150802770627.png) #查看特定的历史版本信息 kubectl rollout history deployment [Deployment名称] --revision=3 --- ##回滚命令 #回滚上一版本 kubectl rollout undo deployment #回滚到指定版本 kubectl rollout undo deployment [Deployment名称] --to-revision=[REVISION编号]
分享到: