本文介紹創建集群時如何合理地選擇與規劃網絡配置以及節點規格等。
網絡插件
新版 AKS 在對接 ACK 后,創建集群時,需要在網絡配置中選擇啟動用的網絡插件,支持 Flannel 和 Terway 網絡插件。
Flannel:使用的是簡單穩定的社區的 Flannel CNI 插件,配合阿里云 VPC 的高速網絡,能給集群高性能和穩定的容器網絡體驗,但功能偏簡單,支持的特性少,如不支持基于 Kubernetes 標準的網絡策略。
Terway:ACK 版自研的網絡插件,將阿里云的彈性網卡分配給容器,支持基于 Kubernetes 標準的網絡策略來定義容器間的訪問策略,支持對單個容器做帶寬的限流。
因此,建議根據業務實際需求,如不需要使用網絡策略,可選擇 Flannel 網絡插件。其他情況,則建議選擇 Terway 網絡插件,詳見 如何使用 Terway 網絡插件。
Terway Pod 地址
Terway Pod 地址空間大小,建議根據 Pod 數量定義。另外,地址不要與 Node 地址以及其他內網地址沖突。
節點規格
從實踐經驗來看,節點與 Pod 的比例一般 1:4 到 1:6 都有。以通用 Java 應用 4c 為例,節點可能 16c - 64c 都有。但是,如果您選擇使用 Terway 網絡插件,建議選擇較高規格和較新類型的 ECS 機型,需要考慮到 ECS Node 上 ENI 彈性網卡的數量。單節點所支持的最大 Pod 數取決于該節點的彈性網卡(ENI)數。
共享 ENI 支持的最大 Pod 數 =(ENI 數-1)×單 ENI 的私有 IP 數
獨占 ENI 支持的最大 Pod 數 = ENI 數-1
大多數情況下,節點上可支持的 Pod 數量,通常會遠超過 20,所以問題不大。
總體而言,在選擇 Worker 節點規格時,主要考慮以下兩個因素:
確定整個集群的日常使用的總核數以及可用度的容忍度。例如:集群總的核數有 160 核,可以容忍 10% 的錯誤。那么最小選擇 10 臺 16 核 ECS,并且高峰運行的負荷不要超過 160*90%=144 核。如果容忍度是 20%,那么最小選擇 5 臺 32 核 ECS,并且高峰運行的負荷不要超過 160*80%=128 核。這樣就算有一臺 ECS 出現故障,剩余 ECS 仍可以支持現有業務正常運行。
確定 CPU:Memory 比例。對于使用內存比較多的應用例如 Java 類應用,建議考慮使用 1:8 的機型。
使用大規格 ECS 的優勢如下:
網絡帶寬大,對于大帶寬類的應用,資源利用率高。
容器在一臺 ECS 內建立通信的比例增大,減少網絡傳輸。
拉取鏡像的效率更高。因為鏡像只需要拉取一次就可以被多個容器使用。而對于小規格的 ECS 拉取鏡像的次數就會增多,若需要聯動 ECS 伸縮集群,則需要花費更多的時間,反而達不到立即響應的目的。