新聞中心
大規(guī)模集群的注意事項(xiàng)
集群是運(yùn)行 Kubernetes 代理的、 由控制平面管理的一組 節(jié)點(diǎn)(物理機(jī)或虛擬機(jī))。 Kubernetes v1.24 支持的最大節(jié)點(diǎn)數(shù)為 5000。 更具體地說,Kubernetes旨在適應(yīng)滿足以下所有標(biāo)準(zhǔn)的配置:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、公安網(wǎng)站維護(hù)、網(wǎng)站推廣。
- 每個(gè)節(jié)點(diǎn)的 Pod 數(shù)量不超過 110
- 節(jié)點(diǎn)數(shù)不超過 5000
- Pod 總數(shù)不超過 150000
- 容器總數(shù)不超過 300000
你可以通過添加或刪除節(jié)點(diǎn)來擴(kuò)展集群。集群擴(kuò)縮的方式取決于集群的部署方式。
云供應(yīng)商資源配額
為避免遇到云供應(yīng)商配額問題,在創(chuàng)建具有大規(guī)模節(jié)點(diǎn)的集群時(shí),請(qǐng)考慮以下事項(xiàng):
- 請(qǐng)求增加云資源的配額,例如:
- 計(jì)算實(shí)例
- CPUs
- 存儲(chǔ)卷
- 使用中的 IP 地址
- 數(shù)據(jù)包過濾規(guī)則集
- 負(fù)載均衡數(shù)量
- 網(wǎng)絡(luò)子網(wǎng)
- 日志流
- 由于某些云供應(yīng)商限制了創(chuàng)建新實(shí)例的速度,因此通過分批啟動(dòng)新節(jié)點(diǎn)來控制集群擴(kuò)展操作,并在各批之間有一個(gè)暫停。
控制面組件
對(duì)于大型集群,你需要一個(gè)具有足夠計(jì)算能力和其他資源的控制平面。
通常,你將在每個(gè)故障區(qū)域運(yùn)行一個(gè)或兩個(gè)控制平面實(shí)例, 先垂直縮放這些實(shí)例,然后在到達(dá)下降點(diǎn)(垂直)后再水平縮放。
你應(yīng)該在每個(gè)故障區(qū)域至少應(yīng)運(yùn)行一個(gè)實(shí)例,以提供容錯(cuò)能力。 Kubernetes 節(jié)點(diǎn)不會(huì)自動(dòng)將流量引向相同故障區(qū)域中的控制平面端點(diǎn)。 但是,你的云供應(yīng)商可能有自己的機(jī)制來執(zhí)行此操作。
例如,使用托管的負(fù)載均衡器時(shí),你可以配置負(fù)載均衡器發(fā)送源自故障區(qū)域 A 中的 kubelet 和 Pod 的流量, 并將該流量?jī)H定向到也位于區(qū)域 A 中的控制平面主機(jī)。 如果單個(gè)控制平面主機(jī)或端點(diǎn)故障區(qū)域 A 脫機(jī),則意味著區(qū)域 A 中的節(jié)點(diǎn)的所有控制平面流量現(xiàn)在都在區(qū)域之間發(fā)送。 在每個(gè)區(qū)域中運(yùn)行多個(gè)控制平面主機(jī)能降低出現(xiàn)這種結(jié)果的可能性。
etcd 存儲(chǔ)
為了提高大規(guī)模集群的性能,你可以將事件對(duì)象存儲(chǔ)在單獨(dú)的專用 etcd 實(shí)例中。
在創(chuàng)建集群時(shí),你可以(使用自定義工具):
- 啟動(dòng)并配置額外的 etcd 實(shí)例
- 配置 API 服務(wù)器,將它用于存儲(chǔ)事件
插件資源
Kubernetes 資源限制 有助于最大程度地減少內(nèi)存泄漏的影響以及 Pod 和容器可能對(duì)其他組件的其他方式的影響。 這些資源限制適用于插件資源, 就像它們適用于應(yīng)用程序工作負(fù)載一樣。
例如,你可以對(duì)日志組件設(shè)置 CPU 和內(nèi)存限制
...
containers:
- name: fluentd-cloud-logging
image: fluent/fluentd-kubernetes-daemonset:v1
resources:
limits:
cpu: 100m
memory: 200Mi插件的默認(rèn)限制通常基于從中小規(guī)模 Kubernetes 集群上運(yùn)行每個(gè)插件的經(jīng)驗(yàn)收集的數(shù)據(jù)。 插件在大規(guī)模集群上運(yùn)行時(shí),某些資源消耗常常比其默認(rèn)限制更多。 如果在不調(diào)整這些值的情況下部署了大規(guī)模集群,則插件可能會(huì)不斷被殺死,因?yàn)樗鼈儾粩噙_(dá)到內(nèi)存限制。 或者,插件可能會(huì)運(yùn)行,但由于 CPU 時(shí)間片的限制而導(dǎo)致性能不佳。
為避免遇到集群插件資源問題,在創(chuàng)建大規(guī)模集群時(shí),請(qǐng)考慮以下事項(xiàng):
- 部分垂直擴(kuò)展插件 —— 總有一個(gè)插件副本服務(wù)于整個(gè)集群或服務(wù)于整個(gè)故障區(qū)域。 對(duì)于這些附加組件,請(qǐng)?jiān)跀U(kuò)大集群時(shí)加大資源請(qǐng)求和資源限制。
- 許多水平擴(kuò)展插件 —— 你可以通過運(yùn)行更多的 Pod 來增加容量——但是在大規(guī)模集群下, 可能還需要稍微提高 CPU 或內(nèi)存限制。 VerticalPodAutoscaler 可以在 recommender 模式下運(yùn)行, 以提供有關(guān)請(qǐng)求和限制的建議數(shù)字。
- 一些插件在每個(gè)節(jié)點(diǎn)上運(yùn)行一個(gè)副本,并由 DaemonSet 控制: 例如,節(jié)點(diǎn)級(jí)日志聚合器。與水平擴(kuò)展插件的情況類似, 你可能還需要稍微提高 CPU 或內(nèi)存限制。
分享題目:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes 大規(guī)模集群的注意事項(xiàng)
本文網(wǎng)址:http://fisionsoft.com.cn/article/dhigcjp.html


咨詢
建站咨詢
