K8S 哲学 - deployment -- kubectl【create 、 rollout 、edit、scale、set】

kubectl create

kubectl rollout

kubectl edit

kubectl set

kubectl scale

1、创建与配置文件解析

2、deploy 滚动更新 :template 里面的内容改变触发滚动更新

编辑该 deploy 的 配置文件 ,加入一个 label

不会触发滚动更新

改变 nginx镜像版本

再次查看 deploy 信息 generation 变成 2 (初始是1)

升级步骤:

始终保持有 足够数量的 服务在运行

创建指定版本的 nginx deploy

改变镜像的版本后 查看滚定更新的 状态

修改 deploy 资源配置文件的两种方式

1、kubectl edit deploy gyk-nginx

2、 kubectl set image(key) deploy/gyk-nginx (resource type and name) nginx=nginx[tag]

3、滚动更新与 并发

如图所示、滚动更新的过程是 【 增加一个新的、创建一个老的】这样一步步来的、如果在【滚动更新的过程中】再次出发更新、则之前的【更新取消】、重新走新的更新方案

4、更新的回滚

k8s会对我们的更新历史进行记录

查看某个 deploy 的更新记录

复制代码
kubectl rollout  history deploy/gyk-nginx

第一个是 nginx1.25.5版本 、第二个是 nginx 最新版本、加 --revision 查看改变的具体位置

再次修改版本号:

复制代码
kubectl set image deploy/gyk-nginx nginx=nginx:1.7.9     

获取 所有 replicaSet

5、扩容和缩容

6、暂停与恢复

kubectl rollout pause deploy gyk-nginx

后续对 template 内容修改不会触发 更新

kubectl rollout resume deploy gyk-nginx

恢复对 replicas 的更新

相关推荐
Cat God 00721 分钟前
基于Docker的MySQL 主从复制(读写分离)
mysql·docker·容器
Selegant1 小时前
Kubernetes + Helm + ArgoCD:打造 GitOps 驱动的 Java 应用交付流水线
java·kubernetes·argocd
Jewel Q1 小时前
QEMU、KVM、Docker、K8s(Kubernetes)
docker·容器·kubernetes
学Linux的语莫2 小时前
prometheus、grafana的docker搭建
docker·容器·prometheus
lisanmengmeng2 小时前
zentao的prod环境升级(一)
linux·运维·数据库·docker·容器·禅道
永亮同学2 小时前
【探索实战】从零开始搭建Kurator分布式云原生平台:详细入门体验与功能实战分享!
分布式·云原生·交互
wuxingge4 小时前
k8s部署xxl-job
容器·kubernetes
没有bug.的程序员6 小时前
微服务基础设施清单:必须、应该、可以、无需的四级分类指南
java·jvm·微服务·云原生·容器·架构
百以国际食品有限公司6 小时前
奶茶原料珍珠粉圆品质保证
云原生
Lethehong7 小时前
【探索实战】Kurator分布式云原生平台快速上手与实战指南
分布式·云原生