高级 Kubernetes 部署战略
2024-11-05 12:17:20
各政党布署
在各政党手段里,客户端的一既有范例同时布署。应以用领域程序在可以访问除此以外旧版(蓝色),而一既有版(橙色)可可让有所不同比例的范例可让站点可靠度施工(SRE)和 QA 制作团队使用。一旦 QA 制作团队确认橙色旧版通过了所有试验允许,应以用领域程序在就都会被重定向到一既有版。这是通过系统升级增益渐进增值的同样器字段里的旧版标签来充分利用的。
当程序员想要不必要管理机构系统问题时,各政党布署最合适。
使用各政党布署手段
让我们论点客户端的第一个旧版是 v1.0.0,而需用的第二个旧版是 v2.0.0。
下面是看做第一个旧版的增值:
apiVersion: v1 kind: Service metadata: name: darwin-service-a spec: type: LoadBalancer selector: app: nginx version: v1.0.0 ports: - name: http port: 80 targetPort: 80下面是看做第二个旧版的增值:
apiVersion: v1 kind: Service metadata: name: darwin-service-b spec: type: LoadBalancer selector: app: nginx version: v2.0.0 ports: - name: http port: 80 targetPort: http允诺的试验指派且第二个旧版被许可后,第一个旧版的 selector 就被改为 v2.0.0:
apiVersion: v1 kind: Service metadata: name: darwin-service-a spec: type: LoadBalancer selector: app: nginx version: v2.0.0 ports: - name: http port: 80 targetPort: http如果客户端按预期接入,v1.0.0 将被捡。
南安普敦布署
在南安普敦手段里,一部分应以用领域程序在被路由表到托管一既有版的 pod。该闭包随之增加,而连接到旧旧版的闭包则减少。该手段都会对比连接到两个旧版的应以用领域程序在闭包。如果未测定到缺失,则将一既有版接入给其余应以用领域程序在。
使用南安普敦布署手段
原生 Kubernetes 南安普敦布署全过程牵涉到表列主旨:
通过表列方固定式布署接入旧版 1 所需比例的所有未:
布署第一个客户端:
$ kubectl apply -f darwin-v1.yaml将其适配到所需比例的所有未:
$ kubectl scale 便是replicas=9 deploy darwin-v1布署旧版 2 的一个范例:
$ kubectl apply -f darwin-v2.yaml如第二个旧版成功布署,则对其开展试验:
$ service=$(minikube service darwin 便是url)$ while sleep 0.1; do curl "$service"; done如果布署成功,适配旧版 2 的范例比例:
$ kubectl scale 便是replicas=10 deploy darwin-v2当所有所有未上线后,就可以与众不同地删除第一个旧版:
$ kubectl delete deploy darwin-v1A/B 布署
通过 A/B 布署,管理机构员可以将特定的应以用领域程序在闭包路由表到具有一些限制和 / 或条件的较一既有版上。这些布署主要使用评估应以用领域程序在群对某些功用的响应以。A/B 布署也被叫做“暗重新启动”,因为应以用领域程序在在试验后曾不洞察应以用领域包括哪些一新功用。
使用 A/B 布署手段
表列是使用 Istio 增值网格指派 A/B 试验的步骤,尽可能使用容量大百分比接入并不有所不同旧版:
1. 论点战略性上已经安装了 Istio,第一步是布署两个旧版的应以用领域:
$ kubectl apply -f darwin-v1.yaml -f darwin-v2.yaml2. 然后可以通过 Istio 路由器公开这些旧版,使用表列下令将允诺匹配到第一个增值:
$ kubectl apply -f ./gateway.yaml -f ./virtualservice.yaml3. 然后可以使用表列下令根据百分比应以用领域 Istio VirtualService 规章:
$ kubectl apply -f ./virtualservice-weight.yaml这都会以 1:10 的比例在旧版密切关系分配容量大百分比。要转移容量大百分比,可编辑每个增值的百分比,然后通过 Kubernetes CLI 系统升级 VirtualService 规章。
何时使用每种Senior布署手段
由于 Kubernetes 用例因需用性允许、预算限制、需用水资源和其他再考虑因素而异,因此没一种万能的布署手段。在同样正确的布署手段时,须要再考虑表列几点:
对比 Kubernetes 布署手段
各政党手段
功用:专注于渐进固定式下单,这对于在客户端后端试验功用是比较重要的。 灵活性:充分利用事前接入和回滚;容许管理机构员在一次升级里重置整个战略性的静止状态;消除管理机构系统问题。 在技术上:在投入生产公开发表前须要两倍比例的水资源和须要的SDK试验。南安普敦手段
功用:在应以用领域程序在仍在接入旧旧版的范例时试验一既有版;被认为是不必要 API 管理机构系统问题的最佳同样。 灵活性:通过缺失率对比可只需管控性能指标乏善可陈;充分利用短时间内回滚;包括应以用领域程序在感受试验。 在技术上:这两项容量大属的运输成本很高;接入平均速度较慢。A/B 手段
功用:向应以用领域程序在提可让一既有客户端旧版,然后对比它们的感受;主要使用前端布署和 QA 试验工序太低的情形。 灵活性:容许多个旧版并行接入;充分利用性能指标管控。 在技术上:引发布署缓慢;促使了代价充裕的容量大渐进。总 结
Kubernetes 某类是该电子技术的整体功能之一,可短时间内下单客户端系统升级和功用。借助布署水资源,Kubernetes 管理机构员可以建立一个高效的管理机构系统系统来管理机构各个旧版,同时将客户端停机时间降至最低,甚至为零。布署容许管理机构员系统升级 pod、回滚到里期旧版或适配基础架构,以背书不断增长的增益。
本文介绍的各项Senior Kubernetes 布署手段还让管理机构员尽可能将容量大和允诺路由表到特定旧版,从而开展实时试验和缺失处理。这些手段可使用保障在管理机构员和程序员完全提交重置前,一新功用能按计划临时工。虽然布署水资源连在一起了持久化客户端静止状态的基础,但敦促大家努力同样正确的布署手段,准备足够的回滚配置文件,并认真对待依赖于多个松散耦合增值的生态系统的快照功用。
资 源
使用 kubetctl 创建布署 ( ) Kubernetes 布署用例 ( #use-case ) Kubernetes 布署一般来说静止状态 ( #deployment-status )原文链接:
以架构视角阐释和落实银行电子化转型的两份重磅他的学生文档
怼腾讯企业主的应以届生对此被标注“永不荐举”;程序在员跳槽B站未遭老东家索赔200万;戴维40木星被磁暴毁坏|Q资讯
被升级整疯了,Etsy 放弃 React
75%一新项目都可以“无脑”同样单体架构
点个在看少个 bug👇
。膝盖酸痛用什么眼药水护眼效果好
克痢痧和思密达效果一样
坦洛新和盐酸坦洛新缓释胶囊是一种药吗
世界男性健康日
艾得辛艾拉莫德片效果怎么样
乐睿灵和先诺欣
999消痔软膏主要功效是什么
- 8轮0球!三过球门而不进,成都蓉城冲超功臣恩里克已经陷入球荒
- 1-1,送点+5分钟2次中柱,中超“平局艺术大师”遭遇6连平,一胜难求
- 郭艾伦发博:今天没比赛因为病危发烧 输掉的比赛真的抱歉了
- 宋翔:上赛季效力北控的球员满江目前正试训中国农业银行
- 「今日韩足商报」(2022.7.4)——K2金靴安柄俊花落谁家?
- 中国球员登陆NBA的预兆?张镇麟、曾凡博参与夏联,世预赛崩盘唯一安慰
- 签了!张镇麟终于打上NBA!两场中国德比确定……
- 解决了这个案子!为什么勇士队正要“提供”杜兰特?NBA记者揭露了内幕
- 广东主力回国家队,同曦内援打夏联,阿不都值得重用
- 武术大师也用特效?含亮在线演绎拳法境界等级,老外:请教我修仙
- 大马赛已经结束了,祝贺客语混双王牌郑,他赢得了冠军,成为了父亲
- 罗马诺:埃里克森即将加盟列斯联,双方签约三年
- 周澄清了离去的风暴!苏将宏远的合同续约600万元,首轮徐捷有可能接替赵
- 宋翔:方硕已经归队 但暂未进行抵抗训练 只进行力量训练
- (体育)中国男篮世预赛最终大胜中国台北队
- 刘宣布了一项重要决定,王同时担任三个职务,现在郭平已经突破了孙英沙
- 快跑,快跑!广达:湖人队可以利用小贾的交易例外来争夺罗比,他是前线的侧翼
- 光速引起公众愤怒?WWE家族最强大的内战正式开始,干孙子vs厨子!
- 再次壮烈联赛,暴露中超联赛第二阶段推迟:主力去东亚杯抢分
- 多措并举推动校园足球普及、进一步提高——专访教育部体卫艺司司长王登峰