調整使用者叢集大小是指新增或移除節點。新增節點時,必須為新節點提供可用的 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」(網路) 部分中,按一下「編輯」圖示 。
在「新增其他靜態 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:您調整大小的使用者叢集命名空間。
疑難排解
請參閱「排解叢集建立和升級問題」。