建立節點集區

本頁說明如何建立節點集區。

事前準備

本頁面假設您已熟悉叢集自動調度器。詳情請參閱「叢集自動配置器」。

自訂網路安全性群組

如要為節點集區自訂網路安全性群組 (NSG),請參閱「網路安全性群組」。

建立節點集區

建立節點集區前,請先備妥下列項目:

  • 使用 az 指令列工具擷取 Azure 子網路 ID 的權限。
  • 叢集安全殼層公開金鑰的存取權。

如要建立節點集區,請執行下列指令:

  1. 將 Azure VNet 子網路 ID 和 SSH 公開金鑰儲存至環境變數:

    SUBNET_ID=$(az network vnet subnet show \
      --resource-group=VNET_RESOURCE_GROUP_NAME --vnet-name=VNET_NAME \
      --name default --query "id" -otsv)
    SSH_PUBLIC_KEY=$(cat KEY_PATH.pub)
    

    更改下列內容:

    • VNET_RESOURCE_GROUP_NAME:包含 VNet 的資源群組名稱
    • VNET_NAME:VNet 名稱
    • KEY_PATH:金鑰組的路徑
  2. 使用 Google Cloud CLI 建立節點集區:

    gcloud container azure node-pools create NODE_POOL_NAME \
        --cluster CLUSTER_NAME \
        --location GOOGLE_CLOUD_LOCATION \
        --node-version 1.31.6-gke.200 \
        --vm-size VM_SIZE \
        --max-pods-per-node 110 \
        --min-nodes MIN_NODES \
        --max-nodes MAX_NODES \
        --ssh-public-key "${SSH_PUBLIC_KEY}" \
        --subnet-id "${SUBNET_ID}"
    

    更改下列內容:

    • NODE_POOL_NAME:節點集區的專屬名稱,例如 node-pool-1
    • CLUSTER_NAME:Azure 中 GKE 叢集的名稱
    • GOOGLE_CLOUD_LOCATION:管理叢集的Google Cloud 位置
    • VM_SIZE:a 支援的 Azure VM 大小
    • MIN_NODES:節點集區中的節點數量下限。詳情請參閱叢集自動調度器
    • MAX_NODES:節點集區中的節點數量上限
  3. 檢查節點集區的狀態:

    gcloud container azure node-pools describe NODE_POOL_NAME \
        --cluster CLUSTER_NAME \
        --location GOOGLE_CLOUD_LOCATION
    

    更改下列內容:

    • NODE_POOL_NAME:節點集區的專屬名稱,例如 node-pool-1
    • CLUSTER_NAME:Azure 中 GKE 叢集的名稱
    • GOOGLE_CLOUD_LOCATION:管理叢集的Google Cloud 位置

    輸出內容會顯示節點集區的狀態,包括 PROVISIONINGRUNNING

在特定區域中建立節點集區

如要在特定 Azure 可用區中建立節點集區,請在建立節點集區時,將 --azure-availability-zone 旗標傳遞至 Google Cloud CLI。

如要使用 Google Cloud CLI 在特定 Azure 可用區中建立節點集區,請執行下列指令:

gcloud container azure node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --node-version 1.31.6-gke.200 \
    --vm-size VM_SIZE \
    --max-pods-per-node 110 \
    --min-nodes MIN_NODES \
    --max-nodes MAX_NODES \
    --azure-availability-zone AZURE_ZONE \
    --ssh-public-key "${SSH_PUBLIC_KEY}" \
    --subnet-id "${SUBNET_ID}"

更改下列內容:

  • NODE_POOL_NAME:節點集區的專屬名稱,例如 node-pool-1
  • CLUSTER_NAME:叢集名稱
  • GOOGLE_CLOUD_LOCATION:管理叢集的Google Cloud 位置
  • VM_SIZE:a 支援的 Azure VM 大小
  • MIN_NODES:節點集區中的節點數量下限。詳情請參閱叢集自動調度器
  • MAX_NODES:節點集區中的節點數量上限
  • AZURE_ZONE:Azure 可用性區域,GKE on Azure 會在其中啟動節點集區,例如 3

後續步驟