kubectl create
kubectl rollout
kubectl edit
kubectl set
kubectl scale
1、创建与配置文件解析
![](https://file.jishuzhan.net/article/1785473990303682562/e129a47f2adb874140a9a6137d42a2fb.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/cddbc8c51ddb329027fe0dd4c535b74d.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/4c00da5a39dfbc1ae4652f336742bc5e.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/554d36ab06cb572e2fa52b6138caf6dc.webp)
2、deploy 滚动更新 :template 里面的内容改变触发滚动更新
编辑该 deploy 的 配置文件 ,加入一个 label
![](https://file.jishuzhan.net/article/1785473990303682562/7950c780eea8df6de9fb05a9fe10ce59.webp)
不会触发滚动更新
改变 nginx镜像版本
![](https://file.jishuzhan.net/article/1785473990303682562/4dc152fedff011a7c833509b680977fd.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/735216c2b3e1a7115ddd3b27bc875488.webp)
再次查看 deploy 信息 generation 变成 2 (初始是1)
升级步骤:
![](https://file.jishuzhan.net/article/1785473990303682562/ea558d16ef1ab59a6905cebb06f2b34e.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/ef7b549dcc17d2377427455f7c8c5e75.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/61328996e798d201d84410a72b4bdf7c.webp)
始终保持有 足够数量的 服务在运行
创建指定版本的 nginx deploy
![](https://file.jishuzhan.net/article/1785473990303682562/cac0082b88f468082c2d2a3c836e8e4b.webp)
改变镜像的版本后 查看滚定更新的 状态
修改 deploy 资源配置文件的两种方式
1、kubectl edit deploy gyk-nginx
2、 kubectl set image(key) deploy/gyk-nginx (resource type and name) nginx=nginx[tag]
![](https://file.jishuzhan.net/article/1785473990303682562/18f670c3cc29e2f2012981493a0faee5.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/b248b6569a2ff0d2563c54353b213479.webp)
3、滚动更新与 并发
如图所示、滚动更新的过程是 【 增加一个新的、创建一个老的】这样一步步来的、如果在【滚动更新的过程中】再次出发更新、则之前的【更新取消】、重新走新的更新方案
4、更新的回滚
k8s会对我们的更新历史进行记录
查看某个 deploy 的更新记录
kubectl rollout history deploy/gyk-nginx
![](https://file.jishuzhan.net/article/1785473990303682562/b45fd98fb0e0a35d0a1c00a8cf07a865.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/2273f1785b42ba4a4eb4629a1453512d.webp)
第一个是 nginx1.25.5版本 、第二个是 nginx 最新版本、加 --revision 查看改变的具体位置
![](https://file.jishuzhan.net/article/1785473990303682562/2461f3501d5a48ca5ee816bad261db1f.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/ecfcbfa13094e796e6a0c23fc21a9619.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/9a949232f10a8682dcb1e5067c1e61db.webp)
再次修改版本号:
kubectl set image deploy/gyk-nginx nginx=nginx:1.7.9
![](https://file.jishuzhan.net/article/1785473990303682562/5d9c738966936627a2631611bfcf0a01.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/47273f9e825756be95e2a8551cbbcdde.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/e67d59184222f4cc24f3e2373f545da2.webp)
获取 所有 replicaSet
![](https://file.jishuzhan.net/article/1785473990303682562/fa6015047c5ba9198bf35456994d0e5c.webp)
5、扩容和缩容
![](https://file.jishuzhan.net/article/1785473990303682562/a74bba4981a36a0baeb92ce18f07be39.webp)
![](https://file.jishuzhan.net/article/1785473990303682562/b39ad84e843e5aacbc1605843c8071c2.webp)
6、暂停与恢复
![](https://file.jishuzhan.net/article/1785473990303682562/d263a45d13c5587b0f2a226dc0fb692f.webp)
kubectl rollout pause deploy gyk-nginx
后续对 template 内容修改不会触发 更新
kubectl rollout resume deploy gyk-nginx
恢复对 replicas 的更新