赞
踩
Deployment控制器支持自定义控制更新过程中的滚动节奏,如了暂停(pause)”或“继续(resume)"更新操作。比如等待第一批新的Pod资源创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用,主体部分还是旧的版本。然后,再筛选一小部分的用户请求路由到新版本的Pod应用,继续观察能否稳定地按期望的方式运行。确定没问题之后再继续完成余下的Pod资源滚动更新,否则立即回滚更新操作。这就是所谓的金丝雀发布。
curl -I 10.244.2.16
curl -I 192.168.100.110:32127
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Wed, 18 Aug 2021 12:45:02 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 04 Dec 2018 14:44:49 GMT
Connection: keep-alive
ETag: "5c0692e1-264"
Accept-Ranges: bytes
kubectl set image deployment/nginx nginx=nginx:1.14 && kubectl rollout pause deployment/nginx
kubectl rollout status deployment/nginx #观察更新状态
kubectl get pods -w
curl -I 10.244.2.16
curl -I 192.168.100.110:32127
kubectl rollout resume deployment/nginx
kubectl get pods -w
curl -I 10.244.2.18
curl -I 192.168.100.110:32127
1.适合于对资源的修改操作
2.声明式资源管理方法依赖于资源配置清单文件对资源进行管理
资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)
3.对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到k8s集群里
4.语法格式: kubectl create/apply/delete -f xxxx.yaml
kubectl get deployment nginx -o yaml
kubectl get all -n default
kubectl explain deployment.metadata
kubectl get service nginx-service -o yaml
kubectl explain service.metadata
离线修改
修改yaml文件,并用kubectl apply -f xxx.yaml 文件使之生效
注意:当apply不生效时,先使用delete清除资源,再apply创建 资源
kubectl get service nginx-service -o yaml > nginx-svc.yaml
vim nginx-svc.yaml #修改port: 8090
kubectl delete -f nginx-svc.yaml
kubectl apply -f nginx-svc.yaml
kubectl get svc
在线修改:
直接使用kubectl edit service nginx 在线编辑资源配置清单并保存退出即时生效( 如port: 888)
PS:此修改方式不会对yaml文件内容修改
陈述式删除:
kubectl delete service nginx
声明式删除:
kubectl delete -f nginx-svc.yaml
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。