調整網路大小
必須先知道 Pod 與節點的數目,才能評定您需要多少 IP 位址。 一旦您知道 Pod 與節點的數目之後,讓我們來看看如何調整網路的大小。
調整虛擬網路子網路
您希望 Kube 叢集節點最多有七部 VM。 請記住,升級程序期間會暫時將額外的節點新增至 Azure Kubernetes Service (AKS) 叢集。 因此,您必須根據 8 部虛擬機器 (VM) 進行網路大小計算。
Maximum 7 VMs + 1 VM for upgrades = 8 node IP addresses
根據預設,使用 Azure 容器網路介面 (CNI) 外掛程式的 AKS 叢集會設定為允許每個節點最多 30 個 Pod。 此值可設定為介於 10 到 250 個 Pod 之間的任何值。 網路大小調整計算必須允許部署的 Pod 數目上限。
8 VMs x 30 pods per node maximum = 240 pod IP addresses
您需要節點的 8 個 IP 位址,以及 Pod 的 240 個 IP 位址。
8 node IP addresses + 240 pod IP addresses = 248 IP addresses
提示
若您打算搭配叢集一起使用內部 Azure Load Balancer,則這也需要 IP 位址。 針對負載平衡器,使用專用子網路是常見的做法,但若您打算使用與節點相同的子網路,則也必須考慮這一點。
在此設計中,您已決定保留預設節點集區設定。 預設設定會使用執行所有項目的單一系統模式節點集區。 若您想要確保系統元件與應用程式隔離,則至少需要兩個節點集區。 您應該調整 IP 位址範圍計算以考慮該因素。
您現在可以向貴組織中負責處理網路配置的小組要求一個支援 248 個 IP 位址的子網路。 當您在 Azure 虛擬網路中建立子網路時,會保留五個 IP 位址供系統使用。 /24 位址範圍會有 251 個可用的 IP 位址,因此適合叢集。
選取 Kubernetes 服務位址範圍
一旦選取了節點與 Pod 子網路之後,只剩下一個位址範圍可供選取: Kube 服務所使用的位址範圍。 Kubernetes 服務會提供靜態虛擬 IP 位址,以允許流量路由至您的 Pod。 此位址範圍只會用於路由叢集中的流量。 位址範圍一律不會在叢集外部使用或公開。 因此,您必須選取不在 Azure 或內部部署網路中某個位置使用的私人網路位址範圍。
提示
因為 Kubernetes 服務位址範圍從未在叢集外部使用,所以可以在多個叢集之間重複使用此位址範圍。
選取服務位址範圍的規則很包括:
- 其不得位於您叢集所使用的虛擬網路 IP 位址範圍內。
- 其不得位於任何其他對等互連至叢集網路的虛擬網路 IP 位址範圍內。
- 其不得與您在內部部署網路中使用的任何 IP 位址範圍重疊。
- 其不得位於 IP 位址範圍 169.254.0.0/16、172.30.0.0/16、172.31.0.0/16 或 192.0.2.0/24。
您通常不需要叢集内服務的許多 IP 位址。 一般而言,執行多個應用程式複本的 Pod 群組之前會有一個服務。 在此情況下,您有八個不同的服務組成應用程式,因此您只需要八個服務 IP 位址。
在叢集中執行的其他服務 (例如輸入控制器或服務網格) 可能會耗用較多服務 IP 位址。 最好考慮您未來可能會使用的一些其他服務空間。 通常來説,使用充裕的位址範圍是個不錯的主意。 /24 位址範圍會提供大量空間供叢集使用。
選取 DNS 服務 IP 位址
Kubernetes 會使用內建網域名稱系統 (DNS) 服務來提供叢集中的服務探索功能。 DNS 服務需要應位於上述 Kubernetes 服務位址範圍內的 IP 位址。 您無法使用 Kubernetes 服務位址範圍的第一個 IP 位址,但可接受的任何其他值。
您現在擁有部署叢集所需的所有資訊。