创建节点池

本页面介绍如何创建节点池。

准备工作

本页面假定您熟悉集群自动扩缩器。如需了解详情,请参阅集群自动扩缩器

自定义网络安全群组

如需为节点池自定义网络安全群组 (NSG),请参阅网络安全群组

创建节点池

在创建节点池之前,您需要做好以下准备:

  • 可以使用 az 命令行工具检索 Azure 子网 ID 的权限。
  • 访问集群的 SSH 公钥。

如需创建节点池,请运行以下命令:

  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.28.7-gke.1700 \
        --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}"
    

    替换以下内容:

  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:GKE on Azure 集群的名称
    • GOOGLE_CLOUD_LOCATION:管理集群的 Google Cloud 位置

    输出包含节点池的状态,包括是 PROVISIONING 还是 RUNNING

在特定可用区中创建节点池

如需在特定 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.28.7-gke.1700 \
    --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受支持的 Azure 虚拟机大小
  • MIN_NODES:节点池中的节点数下限;如需了解详情,请参阅集群自动扩缩器
  • MAX_NODES:节点池中的节点数上限。
  • AZURE_ZONE:GKE on Azure 在其中启动节点池的 Azure 可用性区域,例如 3

后续步骤