調整使用者叢集大小是指新增或移除節點。新增節點時,必須為新節點提供可用的 IP 位址。如要調整使用者叢集的大小,請變更節點集區中的副本數量。
如要瞭解使用者叢集的最大和最小限制,請參閱可擴充性限制。
如要瞭解如何管理節點集區,請參閱建立及管理節點集區。
確認有足夠的 IP 位址可用
如果您打算在調整大小後擁有 N 個節點,則必須有 N + 1 個可用的 IP 位址。
調整叢集大小前,請確認您有足夠的 IP 位址。驗證方式取決於叢集是否使用 DHCP 伺服器或靜態 IP 位址。
DHCP
如果叢集使用 DHCP,請確認 DHCP 伺服器可提供足夠的 IP 位址。提供的 IP 位址數量必須至少比叢集在調整大小後擁有的節點數量多一個。
靜態 IP
如何確認您有足夠的靜態 IP 位址,取決於叢集是否已在 GKE On-Prem API 中註冊。如果符合下列任一條件,使用者叢集就會註冊 GKE On-Prem API:
叢集是使用 Google Cloud 控制台、Google Cloud CLI (gcloud CLI) 或 Terraform 建立,系統會自動在 GKE On-Prem API 中註冊叢集。這些標準應用程式統稱為 GKE On-Prem API 用戶端。
該指令
gkectl enroll cluster
是在使用者叢集上執行,可將叢集設定為由 GKE On-Prem API 管理。
如果 GKE On-Prem API 管理使用者叢集,請使用控制台計算 IP 數量,並視需要新增更多 IP。如果使用者叢集不是由 GKE On-Prem API 管理,您可以先執行 gkectl update cluster
,確認您是否在叢集中分配了足夠的 IP 位址。如果沒有,錯誤訊息會顯示所需的額外 IP 位址數量。
新增靜態 IP
如果叢集是由 GKE On-Prem API 管理,請使用控制台新增更多 IP 位址。否則,請在管理員工作站上使用指令列。
控制台
在控制台中,前往「Google Kubernetes Engine clusters overview」(Google Kubernetes Engine 叢集總覽) 頁面。
選取使用者叢集所在的 Google Cloud 專案。
在叢集清單中,按一下叢集名稱,然後在「詳細資料」面板中按一下「更多詳細資料」。
在「Networking」(網路) 部分中,按一下「Edit」(編輯)
。在「新增其他靜態 IP 位址」對話方塊中,按一下「新增 IP 位址」。輸入 IP 位址,並視需要輸入主機名稱。 視需要重複上述步驟。完成後,請按一下「完成」。
指令列
開啟使用者叢集的 IP 區塊檔案進行編輯。
確認您要用於使用者叢集的所有 IP 位址都包含在 IP 區塊檔案中。IP 區塊檔案的 IP 位址數量,至少要比調整大小後的叢集節點數量多一個。
如要查看為使用者叢集保留的地址,請按照下列步驟操作:
kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml
更改下列內容:
ADMIN_CLUSTER_KUBECONFIG
:管理員叢集 kubeconfig 檔案的路徑USER_CLUSTER_NAME
:使用者叢集名稱
視需要將其他靜態 IP 位址新增至對應區塊,然後執行
gkectl update cluster
。
以下是 IP 區塊檔案的範例,其中包含四個 IP 位址和對應的主機名稱:
hostconfig: dns: 172.16.255.1 tod: 216.239.35.0 blocks: - netmask: 255.255.248.0 gateway: 21.0.135.254 ips: - ip: 21.0.133.41 hostname: user-node-1 - ip: 21.0.133.50 hostname: user-node-2 - ip: 21.0.133.56 hostname: user-node-3 - ip: 21.0.133.47 hostname: user-node-4
調整叢集大小
控制台
在控制台中,前往「Google Kubernetes Engine clusters overview」(Google Kubernetes Engine 叢集總覽) 頁面。
選取使用者叢集所在的 Google Cloud 專案。
在叢集清單中,按一下叢集名稱,然後在「詳細資料」面板中按一下「更多詳細資料」。
按一下「Nodes」(節點) 分頁標籤。
按一下要調整大小的節點集區名稱。
按一下
「Resize」(調整大小)。在「Nodes」(節點) 欄位中,輸入節點集區中您想要的節點數量,然後按一下「Done」(完成)。
按一下
即可返回上一頁。主控台會顯示「叢集狀態:變更進行中」。按一下「顯示詳細資料」,即可查看資源狀態條件和狀態訊息。
指令列
在使用者叢集設定檔中,更新一或多個 nodePools
元素中的 replicas
欄位值。
調整叢集大小:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
更改下列內容:
ADMIN_CLUSTER_KUBECONFIG
:管理員叢集 kubeconfig 檔案的路徑USER_CLUSTER_CONFIG
:使用者叢集設定檔的路徑
確認縮放作業是否成功:
如果未啟用進階叢集:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes kubectl --kubeconfig USER_CLUSTER_KUBECONFIG describe machinedeployments NODE_POOL_NAME | grep Replicas
如果啟用進階叢集
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe nodepoolclaim -n USER_CLUSTER_NAMESPACE NODE_POOL_NAME | grep "Node Count"
更改下列內容:
ADMIN_CLUSTER_KUBECONFIG
:管理員叢集 kubeconfig 檔案的路徑USER_CLUSTER_KUBECONFIG
:使用者叢集 kubeconfig 檔案的路徑NODE_POOL_NAME
:您調整大小的節點集區名稱。USER_CLUSTER_NAMESPACE
:您調整大小的使用者叢集命名空間。
疑難排解
請參閱「排解叢集建立和升級問題」。