新聞中心
高可用拓撲選項
本頁面介紹了配置高可用(HA)Kubernetes 集群拓撲的兩個選項。

你可以設置 HA 集群:
- 使用堆疊(stacked)控制平面節(jié)點,其中 etcd 節(jié)點與控制平面節(jié)點共存
- 使用外部 etcd 節(jié)點,其中 etcd 在與控制平面不同的節(jié)點上運行
在設置 HA 集群之前,你應該仔細考慮每種拓撲的優(yōu)缺點。
Note:
kubeadm 靜態(tài)引導 etcd 集群。 閱讀 etcd 集群指南以獲得更多詳細信息。
堆疊(Stacked)etcd 拓撲
堆疊(Stacked)HA 集群是一種這樣的拓撲, 其中 etcd 分布式數(shù)據(jù)存儲集群堆疊在 kubeadm 管理的控制平面節(jié)點上,作為控制平面的一個組件運行。
每個控制平面節(jié)點運行 ?kube-apiserver?、?kube-scheduler? 和 ?kube-controller-manager? 實例。
?kube-apiserver? 使用負載均衡器暴露給工作節(jié)點。
每個控制平面節(jié)點創(chuàng)建一個本地 etcd 成員(member),這個 etcd 成員只與該節(jié)點的 ?kube-apiserver? 通信。 這同樣適用于本地 ?kube-controller-manager? 和 ?kube-scheduler? 實例。
這種拓撲將控制平面和 etcd 成員耦合在同一節(jié)點上。相對使用外部 etcd 集群, 設置起來更簡單,而且更易于副本管理。
然而,堆疊集群存在耦合失敗的風險。如果一個節(jié)點發(fā)生故障,則 etcd 成員和控制平面實例都將丟失, 并且冗余會受到影響。你可以通過添加更多控制平面節(jié)點來降低此風險。
因此,你應該為 HA 集群運行至少三個堆疊的控制平面節(jié)點。
這是 kubeadm 中的默認拓撲。當使用 ?kubeadm init? 和 ?kubeadm join --control-plane? 時, 在控制平面節(jié)點上會自動創(chuàng)建本地 etcd 成員。
外部 etcd 拓撲
具有外部 etcd 的 HA 集群是一種這樣的拓撲, 其中 etcd 分布式數(shù)據(jù)存儲集群在獨立于控制平面節(jié)點的其他節(jié)點上運行。
就像堆疊的 etcd 拓撲一樣,外部 etcd 拓撲中的每個控制平面節(jié)點都運行 ?kube-apiserver?,?kube-scheduler? 和 ?kube-controller-manager? 實例。 同樣,?kube-apiserver? 使用負載均衡器暴露給工作節(jié)點。但是 etcd 成員在不同的主機上運行, 每個 etcd 主機與每個控制平面節(jié)點的 ?kube-apiserver? 通信。
這種拓撲結構解耦了控制平面和 etcd 成員。因此它提供了一種 HA 設置, 其中失去控制平面實例或者 etcd 成員的影響較小,并且不會像堆疊的 HA 拓撲那樣影響集群冗余。
但此拓撲需要兩倍于堆疊 HA 拓撲的主機數(shù)量。
具有此拓撲的 HA 集群至少需要三個用于控制平面節(jié)點的主機和三個用于 etcd 節(jié)點的主機。
分享文章:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes高可用拓撲選項
URL分享:http://m.fisionsoft.com.cn/article/dpeicps.html


咨詢
建站咨詢
