当前位置:   article > 正文

声明式资源管理方法

声明式资源

K8S

一、灰度发布(金丝雀发布)

金丝雀发布(Canary Release )

Deployment控制器支持自定义控制更新过程中的滚动节奏,如了暂停(pause)”或“继续(resume)"更新操作。比如等待第一批新的Pod资源创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用,主体部分还是旧的版本。然后,再筛选一小部分的用户请求路由到新版本的Pod应用,继续观察能否稳定地按期望的方式运行。确定没问题之后再继续完成余下的Pod资源滚动更新,否则立即回滚更新操作。这就是所谓的金丝雀发布。

在这里插入图片描述

(1)更新deployment的版本,并配置暂停deployment

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

kubectl set image deployment/nginx nginx=nginx:1.14 && kubectl rollout pause deployment/nginx
kubectl rollout status deployment/nginx		#观察更新状态
  • 1
  • 2

在这里插入图片描述

(2)监控更新的过程,可以看到已经新增了一个资源,但是并未按照预期的状态去删除一个旧的资源,就是因为使用了pause暂停命令

kubectl get pods -w
curl -I 10.244.2.16
curl -I 192.168.100.110:32127
  • 1
  • 2
  • 3

在这里插入图片描述
在这里插入图片描述

(3)确保更新的pod没问题了,继续更新

kubectl rollout resume deployment/nginx
  • 1

在这里插入图片描述

(4)查看最后的更新情况

kubectl get pods -w
curl -I 10.244.2.18
curl -I 192.168.100.110:32127
  • 1
  • 2
  • 3

在这里插入图片描述
在这里插入图片描述

二、声明式管理方法

1.适合于对资源的修改操作

2.声明式资源管理方法依赖于资源配置清单文件对资源进行管理
资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)

3.对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到k8s集群里

4.语法格式: kubectl create/apply/delete -f xxxx.yaml

查看资源配置清单
kubectl get deployment nginx -o yaml
  • 1

在这里插入图片描述

解释资源配置清单
kubectl get all -n default

kubectl explain deployment.metadata

kubectl get service nginx-service -o yaml
kubectl explain service.metadata
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改资源配置清单并应用
离线修改
修改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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
在这里插入图片描述

在线修改:
直接使用kubectl edit service nginx 在线编辑资源配置清单并保存退出即时生效( 如port: 888)
PS:此修改方式不会对yaml文件内容修改

删除资源配置清单
陈述式删除:
kubectl delete service nginx

声明式删除:
kubectl delete -f nginx-svc.yaml
  • 1
  • 2
  • 3
  • 4
  • 5
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号