您当前的位置:首页 >> 装修日记

高级 Kubernetes 部署战略

2024-11-05 12:17:20

可能在提交比较简单旧版前试验实时生态里系统升级功用的有效性。Kubernetes 背书多种Senior布署手段,以便程序员可以准确控制流向特定旧版的容量大。

各政党布署

在各政党手段里,客户端的一既有范例同时布署。应以用领域程序在可以访问除此以外旧版(蓝色),而一既有版(橙色)可可让有所不同比例的范例可让站点可靠度施工(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-v1

A/B 布署

通过 A/B 布署,管理机构员可以将特定的应以用领域程序在闭包路由表到具有一些限制和 / 或条件的较一既有版上。这些布署主要使用评估应以用领域程序在群对某些功用的响应以。A/B 布署也被叫做“暗重新启动”,因为应以用领域程序在在试验后曾不洞察应以用领域包括哪些一新功用。

使用 A/B 布署手段

表列是使用 Istio 增值网格指派 A/B 试验的步骤,尽可能使用容量大百分比接入并不有所不同旧版:

1. 论点战略性上已经安装了 Istio,第一步是布署两个旧版的应以用领域:

$ kubectl apply -f darwin-v1.yaml -f darwin-v2.yaml

2. 然后可以通过 Istio 路由器公开这些旧版,使用表列下令将允诺匹配到第一个增值:

$ kubectl apply -f ./gateway.yaml -f ./virtualservice.yaml

3. 然后可以使用表列下令根据百分比应以用领域 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消痔软膏主要功效是什么
标签:战略
相关阅读
友情链接