声明式资源管理方法

16 篇文章 1 订阅
15 篇文章 0 订阅

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

在这里插入图片描述

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

在这里插入图片描述

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

kubectl get pods -w
curl -I 10.244.2.16
curl -I 192.168.100.110:32127

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

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

kubectl rollout resume deployment/nginx

在这里插入图片描述

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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
云原生是一种面向云环境下应用程序开发和部署的软件架构理念,旨在使应用程序能充分发挥云计算平台的特性和优势。与传统的应用程序开发方相比,云原生采用了一系列新的技术和方法,其中声明API是其中之一。 声明API是云原生架构中的一种设计模,提供了一种更加简化、抽象化的开发方。它通过定义目标状态(Desired State)来描述应用程序或系统的期望状态,而不是手动指定一系列的操作步骤。开发人员只需关注应用程序的最终状态即可,无需关心具体的实现细节。 利用声明API,开发人员可以通过编写一些清晰简洁的配置文件来定义应用程序的各个组件、资源和依赖关系。这些配置文件被加载到云原生平台中,平台会根据配置文件中的描述进行自动化的资源分配、配置管理和环境搭建等操作,从而将应用程序部署到云端。 声明API的好处是显而易见的。首先,它降低了开发人员的学习和使用成本,因为开发人员只需了解和编写配置文件,而不需要掌握复杂的管理和操作命令。其次,它提高了开发效率,因为开发人员可以通过简单地修改配置文件来实现应用程序的升级、扩展和回滚等操作,无需手动进行繁琐的工作。 总的来说,云原生的声明API使得应用程序的开发和部署变得更加简单、自动化和可靠。它提供了一种抽象化和简化的开发方,使得开发人员能够专注于业务逻辑和需求,而不需要花费过多精力在底层的实现细节上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值