chinesegay男男猛男无套你的位置:最近2019中文字幕在线高清 > chinesegay男男猛男无套 > 浅析 Kubernetes 多集群的几种决策
浅析 Kubernetes 多集群的几种决策

发布日期:2022-06-18 17:01    点击次数:76

  

浅析 Kubernetes 多集群的几种决策

 跟着 Kubernetes 在企业中诈欺的越来越平凡和普及,越来越多的公司在分娩环境中运维多个集群。本文主要敷陈一些对于多集群 Kubernetes 的思考,包括为什么弃取多集群,多集群的自制以及多集群的落地决策。

VMware2020 年 Kubernetes 使用报酬中指出,在接纳 kubernetes 组织中 20%的组织入手 40+数打算集群。

为什么企业需要多集群?

单集群 Kubernetes 承载能力有限

最初望望官方文档中对于单集群承载能力的刻画:

在 v1.12,Kubernetes 维持最多具有 5000 个节点的集群。更具体地说,咱们维持餍足以下统统条目的树立:

 不跳跃 5000 个节点  Pod 总额不跳跃 150000  统统不跳跃 300000 个容器  每个节点不跳跃 100 个 Pod

固然当前 Kubernetes 照旧发展到 v1.20,然而对于单集群承载能力一直莫得变化。可见晋升单集群负载能力并不是社区的发展标的。

若是咱们的业务限度跳跃了 5000 台,那么企业不得不有计划多个集群。

夹杂云或是多云架构决定了需要多个集群

到当前,其实多云或是夹杂云的架构很精深了。

比如企业是一个全球化的公司,提供 Global 职业。

或像新浪微博同样,自建数据中心 + 阿里云,阿里云用于职业弹性流量。

另外公有云并莫得设想中的海量资源。比如公有云的头部客户搞大促需要很大数目机器的技巧,都是需要提前和公有云肯求,然后公有云提前准备的。

为了幸免被单家供应商锁定,或是出于本钱等有计划,企业弃取了多云架构,也决定了咱们需要多个集群。

不把鸡蛋放到一个篮子里

即使前边两条都未餍足,那么咱们是否要把统统的使命负载部署到一个集群呢?

若是集群限度面出现故障,那么统统的职业都会受到影响。

也许公共合计 Kubernetes 的限度面自己等于高可用的(三个 api-server),不会有通盘限度层不行用的可能。

其实则否则,咱们在分娩环境中,照旧处理好屡次近似故障了。若是一个诈欺(一般指需要调用 api-server 接口)在大都地调用 api-server, 国产精品亚洲综合一区在线观看会导致 api-server 接连挂掉,最终不行用。直到找到故障诈欺,并把故障诈欺删除。

是以在分娩环境中,一是需要严格限度造访 api-server 的权限,二是需要做好测试,三是不错有计划业务诈欺和基础设施分开部署。其实单集群和多集群的弃取和”弃取一台超算 or 多台曩昔机器“的问题近似。自后散布式诡计的发展讲明公共弃取了多个曩昔机器。

多集群的自制

多集群在以下三个方面,有着更好的明白:

 可用性  间隔性  膨胀性 多集群诈欺法子架构

试验上,不错通过两种模子来构建多集群诈欺法子架构

 副本 :将诈欺法子复制到多个可用性区域或数据中心,每个集群都入手诈欺法子的完好副本。咱们不错依靠 Smart DNS(在 GCP,有 Global 负载平衡器的主意) 将流量路由到距离用户最近的集群,以收场最小的齐集延长。若是咱们一个集群发生故障,咱们不错将流量路由到其他健康集群,chinesegay男男猛男无套收场故障滚动。  按职业鉴识:按照业务相干进度,将诈欺部署在不同的集群。这种模子,提供了相配好的间隔性,然而职业鉴识却比拟复杂。 社区多集群落地决策

试验上,社区一直在探索多集群 Kubernetes 的最好履行,当前来看主要有以下两种。

以 Kubernetes 为中心

效用于维持和膨胀用于多集群用例的中枢 Kubernetes 原语,从而为多个集群提供聚首式不停平面。Kubernetes 集群联邦阵势接纳了这种秩序。

联接集群联邦的最好秩序是可视化跨多个 Kubernetes 集群的元集群。设想一下一个逻辑限度平面,该逻辑限度平面编排多个 Kubernetes 主节点,近似于每个主节点如何限度其自身集群中的节点。

其实集群联国骨子上做了两件事情:

 跨集群分发资源:通过详尽 Templates ,Placement,Overrides 三个主意,不错收场将资源(比如 Deployment)部署到不同的集群,况且收场多集群扩缩。  多集群职业发现:维持多集群 Service 和 Ingress。截止到当前,联邦阵势尚处于 alpha 气象,当咱们弃取落地的技巧,需要一定量的开拓使命。

以齐集为中心

以齐集为中心的秩序专注于在集群之间创建齐集联接,以便集群内的诈欺法子不错相互通讯。

Istio 的多集群维持,Linkerd 职业镜像和 Consul 的 Mesh 网关是通过 Service mesh 处置决策来收场齐集连通。

而另外一种是 Cilium 对于多集群齐集的决策。Cilium 自己是一种 CNI 齐集,该决策少了职业治理的功能。

Cilium Cluster Mesh 处置决策通过地道或径直路由,处置跨多个 Kubernetes 集群的 Pod IP 路由,而无需任何网关或代理。天然咱们需要打算好每个集群的 POD CIDR。

 每个 Kubernetes 集群都惊叹我方的 etcd 集群,其中包含该集群的气象。来自多个集群的气象永久不会混入 etcd 中。  每个集群通过一组 etcd 代理公开其我方的 etcd。在其他集群中入手的 Cilium 代理联接到 etcd 代理以监视转换,并将多集群相干气象复制到我方的集群中。使用 etcd 代理可确保 etcd 明察法子的可伸缩性。造访受 TLS 文凭保护。  从一个集群到另一个集群的造访恒久是只读的。这么不错确保故障域保持不变,即一个集群中的故障永久不会传播到其他集群中。  通过简便的 Kubernetes secret 资源进行树立,该资源包含而已 etcd 代理的寻址信息以及集群称呼和造访 etcd 代理所需的文凭。 思考

上头咱们讲到了两种落地多集群 Kubernetes 的决策,其实并不厉害 A 即 B。

比如,当咱们在落地大集群的历程中,好多公司仅仅用 Kubernetes 处置部署的问题。职业发现弃取 consul,zk 等注册中心,树立文献不停使用树立中心,负载平衡也莫得使用 kubernetes 中 Service。

此时结合两种决策是最好履行。

集群联邦处置部署和发布的问题。Service mesh 处置多集群流量造访的问题。不外此时,使命负载集群中的 Pod,Service mesh 的限度面以及网关都需要对接外部的注册中心。具体架构如下:

 

 



Powered by 最近2019中文字幕在线高清 @2013-2022 RSS地图 HTML地图