為了更好地保證叢集的穩定性和可靠性,推薦您選擇合適的ECS執行個體規格作為叢集節點。本文介紹搭建ACK叢集時ECS執行個體規格的推薦配置。
叢集規格規劃
建立ACK叢集時,如果您選用了較多小規格的ECS執行個體,可能存在以下弊端:
網路問題:小規格Worker節點的網路資源受限。
容量問題:為了確保叢集的穩定性和可靠性,系統需要預留一部分節點資源用於叢集管理和基礎設施組件的運行,包括CPU、記憶體和磁碟等。小規格ECS可能影響叢集的效能和可用性。關於ACK對節點CPU和記憶體資源的預留策略,請參見節點資源預留策略。
片段化問題:節點資源分派時,如果一個容器佔用一個小規格ECS,由於資源需求的不一致或不連續性,將導致該ECS的剩餘資源無法利用(構建新的容器或恢複失敗的容器),從而造成資源浪費。例如,某個節點只能分配整數倍的CPU,而其應用程式只需要少量CPU,那麼剩餘的CPU資源將被浪費。
使用大規格ECS有以下優勢:
網路優勢:網路頻寬大,對於大頻寬類的應用,資源使用率高。同時,容器在一台ECS內建立通訊的比例增大,將減少網路傳輸。
鏡像拉取優勢:拉取鏡像的效率更高。因為鏡像只需要拉取一次就可以被多個容器使用。而對於小規格的ECS拉取鏡像的次數就會增多,若需要聯動ECS伸縮叢集,則需要花費更多的時間,反而達不到立即響應的目的。
關於ECS規格的選擇,請參見下文瞭解。
選擇Worker節點規格
節點規格為4核 8 GB及以上。
確定整個叢集日常使用的總核心數以及可用度的容忍度。
例如,叢集總的核心數有160核,可以容忍10%的錯誤。那麼最小選擇10台16核ECS,並且高峰啟動並執行負荷不要超過160 ×90%=144核。如果容忍度是20%,那麼最小選擇5台32核ECS,並且高峰啟動並執行負荷不要超過160×80%=128核。這樣即使有一台ECS出現故障,剩餘ECS仍可以支援現有業務正常運行。
當叢集日常規模達到1000核左右,可以選用裸金屬神龍伺服器。更多資訊,請參見裸金屬神龍伺服器使用情境及優勢。
根據Pod資源要求,確定CPU和Memory的配比,例如1:2、1:4等。對於使用記憶體較多的應用例如Java類應用,建議考慮使用1:8的機型。
選擇Master節點規格
建立ACK叢集時,Master節點上運行著etcd、kube-apiserver、kube-controller等核心組件。對於面向生產環境的ACK專有叢集,您需要選擇合適的Master節點規格,避免對叢集穩定性產生影響。Master規格與叢集規模有關,叢集規模越大,所需要的Master規格也越高。
您可從多個角度衡量叢集規模,例如節點數量、Pod數量、部署頻率、訪問量。本文簡化邏輯,以叢集中的節點數量為標準衡量叢集規模。
在個人測試和學習環境中,您可以選擇小規格的ECS執行個體進行體驗。但對於生產規模的叢集,建議您參見下表選擇Master節點規格,盡量保證Master負載維持在安全水位上。
節點規模 | Master節點推薦規格 |
1~5個節點 | 4核 8 GB(不推薦使用2核 4 GB及以下規格) |
6~20個節點 | 4核 16 GB |
21~100個節點 | 8核 32 GB |
100~200個節點 | 16核 64 GB |
200~500個節點(請估爆炸半徑風險) | 64核 128GB |
裸金屬神龍伺服器使用情境及優勢
ECS Bare Metal Instance(ECS Bare Metal Instance)是基於阿里雲完全自主研發的下一代虛擬化技術而打造的新型計算類伺服器產品,兼具虛擬機器的彈性和物理機的效能及功能特性。與上一代虛擬化技術相比,下一代虛擬化技術不僅保留了普通雲端服務器的彈性體驗,而且保留了物理機的效能與特性,全面支援嵌套虛擬化技術。
ECS Bare Metal Instance在獨佔計算資源、加密計算、搭建新型混合雲等方面更具優勢。關於ECS Bare Metal Instance的詳細介紹以及支援的規格類型系列,請參見ECS Bare Metal Instance概述。
ECS Bare Metal Instance的典型使用情境包括但不僅限於:
叢集日常規模能夠達到1000核。一台神龍伺服器至少為96核,在大規模叢集情境下,您可以通過10台或11台神龍伺服器構建一個叢集。
快速擴充容器數量。例如,在電商類大促情境下,相較於同配置的物理機,ECS Bare Metal Instance的效能更優,可提供數百萬vCPU計算能力,以承載流量洪峰。
不支援使用的ECS執行個體規格
通用限制
出於叢集穩定性、安全性等因素考量,ACK不支援使用下表中的執行個體規格作為Worker節點或Master節點。
不支援的執行個體規格類型系列或族群 | 不支援的執行個體規格樣本 | 說明 | 備忘 |
突發效能執行個體規格類型系列t5 | ecs.t5-lc2m1.nano | 執行個體效能不穩定,可能導致叢集不穩定。 | 無。 |
突發效能執行個體規格類型系列t6 | ecs.t6-c4m1.large | 執行個體效能不穩定,可能導致叢集不穩定。 | 無。 |
vCPU核心數小於4的機器規格 | ecs.g6.large | 執行個體規格配置過低,可能導致叢集不穩定。 | 支援前往配額平台申請使用建立叢集和節點池支援低規格ECS機型。 |
安全增強計算型執行個體規格類型系列c6t | ecs.c6t.large | 暫不支援。 | 無。 |
安全增強通用型執行個體規格類型系列g6t | ecs.g6t.large | 暫不支援。 | 無。 |
Super Computing Cluster(SCC)規格類型系列群 | ecs.sccg7.32xlarge | 暫不支援。 | 無。 |
關於ACK支援的GPU執行個體規格類型系列,請參見ACK支援的GPU執行個體規格類型系列。
Terway網路外掛程式限制
如果您的網路外掛程式為Terway,單節點支援的最大Pod數量會基於節點使用的ECS規格支援的ENI數量來計算。因此,不同Terway模式所能支援的ECS規格不同,詳細資料請參見使用Terway網路外掛程式。
共用ENI模式或共用ENI模式+Trunk ENI:單節點的Pod限額必須>11,即
(ECS規格支援的ENI數量-1)×單個ENI支援的私人IP數>11
。例如,ecs.g6.large支援的彈性網卡ENI數量為2,支援的單網卡私人IPv4地址數為6,
單節點的Pod限額=(2-1) x 6 = 6
,無法使用。獨佔ENI模式:單節點的Pod限額必須>6,即
ECS規格支援的ENI數量-1 > 6
。例如,ecs.g6.xlarge支援的彈性網卡ENI數量為3,
單節點的Pod限額=3 - 1 =2
,無法使用。