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=nginxtag

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 的更新

相关推荐
Patrick_Wilson9 小时前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
阿里云云原生11 小时前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生17 小时前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭19 小时前
运行你的第一个Docker容器
后端·docker·容器
Java之美19 小时前
从edge-trigger到level-trigger,谈谈 Kubernetes controller 的开发范式
云原生
阿里云云原生1 天前
深度解构:当 Append-only 的 SLS 遇上 Update/Delete,是如何实现设计权衡的?
云原生
Java之美2 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
秋播2 天前
nerdctl推送rancher本地镜像到harbor
云原生
程序员老赵2 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程