3.3. 准备您的网络


您必须通过为对等 pod 配置出站连接来准备网络。您可以使用以下方法之一执行此任务:

  • 将 NAT 网关添加到默认 worker 子网。此方法非常简单并重复使用集群资源,但它提供较少的隔离。
  • 为对等 pod 创建专用的 VNet 和子网,附加 NAT 网关,并将其与集群 VNet 对等。这个方法更为复杂,但它提供了更高的隔离和灵活性。

3.3.1. 配置默认 worker 子网

您可以通过附加 NAT 网关来为出站连接配置默认 worker 子网。此方法非常简单并重复使用集群资源,但它比专用虚拟网络提供较少的隔离。

先决条件

  • 已安装并进行身份验证的 Azure CLI (az)。
  • 有对 Azure 资源组和 VNet 的管理员访问权限。

流程

  1. 运行以下命令设置 AZURE_RESOURCE_GROUP 环境变量:

    $ AZURE_RESOURCE_GROUP=$(oc get infrastructure/cluster \
        -o jsonpath='{.status.platformStatus.azure.resourceGroupName}')
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令设置 AZURE_REGION 环境变量:

    $ AZURE_REGION=$(az group show --resource-group ${AZURE_RESOURCE_GROUP}\
        --query "{Location:location}" --output tsv) && \
        echo "AZURE_REGION: \"$AZURE_REGION\""
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令设置 AZURE_VNET_NAME 环境变量:

    $ AZURE_VNET_NAME=$(az network vnet list \
        -g "${AZURE_RESOURCE_GROUP}" --query '[].name' -o tsv)
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令设置 AZURE_SUBNET_ID 环境变量:

    $ AZURE_SUBNET_ID=$(az network vnet subnet list \
        --resource-group "${AZURE_RESOURCE_GROUP}" \
        --vnet-name "${AZURE_VNET_NAME}" --query "[].{Id:id} \
        | [? contains(Id, 'worker')]" --output tsv)
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令,为 peer pod 子网设置 NAT 网关环境变量:

    $ export PEERPOD_NAT_GW=peerpod-nat-gw
    Copy to Clipboard Toggle word wrap
    $ export PEERPOD_NAT_GW_IP=peerpod-nat-gw-ip
    Copy to Clipboard Toggle word wrap
  6. 运行以下命令,为 NAT 网关创建公共 IP 地址:

    $ az network public-ip create -g "${AZURE_RESOURCE_GROUP}" \
        -n "${PEERPOD_NAT_GW_IP}" -l "${AZURE_REGION}" --sku Standard
    Copy to Clipboard Toggle word wrap
  7. 运行以下命令,创建 NAT 网关并将其与公共 IP 地址关联:

    $ az network nat gateway create -g "${AZURE_RESOURCE_GROUP}" \
        -l "${AZURE_REGION}" --public-ip-addresses "${PEERPOD_NAT_GW_IP}" \
        -n "${PEERPOD_NAT_GW}"
    Copy to Clipboard Toggle word wrap
  8. 运行以下命令,更新 VNet 子网以使用 NAT 网关:

    $ az network vnet subnet update --nat-gateway "${PEERPOD_NAT_GW}" \
        --ids "${AZURE_SUBNET_ID}"
    Copy to Clipboard Toggle word wrap

验证

  • 运行以下命令确认 NAT 网关已附加到 VNet 子网:

    $ az network vnet subnet show --ids "${AZURE_SUBNET_ID}" \
        --query "natGateway.id" -o tsv
    Copy to Clipboard Toggle word wrap

    输出中包含 NAT 网关资源 ID。如果没有附加 NAT 网关,输出为空。

    输出示例

    /subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/myResourceGroup/providers/Microsoft.Network/natGateways/myNatGateway
    Copy to Clipboard Toggle word wrap

3.3.2. 创建专用的对等 pod 虚拟网络

您可以通过创建专用虚拟网络(VNet)来为对等 pod 配置出站连接。然后,您可以为 VNet 创建网络地址转换(NAT)网关,在 VNet 中创建子网,并使用非覆盖地址空间启用 VNet 对等。

这个方法比为默认 worker 子网创建 NAT 网关更为复杂,但它提供了更大的隔离和灵活性。

先决条件

  • 已安装 Azure CLI (az)
  • 您已登录到 Azure。请参阅使用 Azure CLI 对 Azure 进行授权
  • 具有管理员对 Azure 资源组和托管集群的 VNet 的访问权限。
  • 您已验证了集群 VNet 无类别域间路由(CIDR)地址。默认值为 10.0.0.0/14。如果您覆盖默认值,请确保为对等 pod VNet 选择了非覆盖 CIDR 地址。例如,192.168.0.0 /16

流程

  1. 为 peer pod 网络设置环境变量:

    1. 运行以下命令设置 peer pod VNet 环境变量:

      $ export PEERPOD_VNET_NAME="${PEERPOD_VNET_NAME:-peerpod-vnet}"
      Copy to Clipboard Toggle word wrap
      $ export PEERPOD_VNET_CIDR="${PEERPOD_VNET_CIDR:-192.168.0.0/16}"
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令来设置对等 pod 子网环境变量:

      $ export PEERPOD_SUBNET_NAME="${PEERPOD_SUBNET_NAME:-peerpod-subnet}"
      Copy to Clipboard Toggle word wrap
      $ export PEERPOD_SUBNET_CIDR="${PEERPOD_SUBNET_CIDR:-192.168.0.0/16}"
      Copy to Clipboard Toggle word wrap
  2. 为 Azure 设置环境变量:

    $ AZURE_RESOURCE_GROUP=$(oc get infrastructure/cluster \
        -o jsonpath='{.status.platformStatus.azure.resourceGroupName}')
    Copy to Clipboard Toggle word wrap
    $ AZURE_REGION=$(az group show --resource-group ${AZURE_RESOURCE_GROUP}\
        --query "{Location:location}" --output tsv) && \
        echo "AZURE_REGION: \"$AZURE_REGION\""
    Copy to Clipboard Toggle word wrap
    $ AZURE_VNET_NAME=$(az network vnet list \
        -g "${AZURE_RESOURCE_GROUP}" --query '[].name' -o tsv)
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令设置对等 pod NAT 网关环境变量:

    $ export PEERPOD_NAT_GW="${PEERPOD_NAT_GW:-peerpod-nat-gw}"
    Copy to Clipboard Toggle word wrap
    $ export PEERPOD_NAT_GW_IP="${PEERPOD_NAT_PUBLIC_IP:-peerpod-nat-gw-ip}"
    Copy to Clipboard Toggle word wrap
  4. 配置 VNET:

    1. 运行以下命令来创建对等 pod VNet:

      $ az network vnet create --resource-group "${AZURE_RESOURCE_GROUP}" \
          --name "${PEERPOD_VNET_NAME}" \
          --address-prefixes "${PEERPOD_VNET_CIDR}"
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令,为对等 pod VNet 创建公共 IP 地址:

      $ az network public-ip create -g "${AZURE_RESOURCE_GROUP}" \
          -n "${PEERPOD_NAT_GW_IP}" -l "${AZURE_REGION}"
      Copy to Clipboard Toggle word wrap
    3. 运行以下命令,为对等 pod VNet 创建 NAT 网关:

      $ az network nat gateway create -g "${AZURE_RESOURCE_GROUP}" \
          -l "${AZURE_REGION}" \
          --public-ip-addresses "${PEERPOD_NAT_GW_IP}" \
          -n "${PEERPOD_NAT_GW}"
      Copy to Clipboard Toggle word wrap
    4. 运行以下命令,在对等 pod VNet 中创建子网并附加 NAT 网关:

      $ az network vnet subnet create \
          --resource-group "${AZURE_RESOURCE_GROUP}" \
          --vnet-name "${PEERPOD_VNET_NAME}" \
          --name "${PEERPOD_SUBNET_NAME}" \
          --address-prefixes "${PEERPOD_SUBNET_CIDR}" \
          --nat-gateway "${PEERPOD_NAT_GW}"
      Copy to Clipboard Toggle word wrap
  5. 配置虚拟网络对等连接:

    1. 运行以下命令来创建对等连接:

      $ az network vnet peering create -g "${AZURE_RESOURCE_GROUP}" \
          -n peerpod-azure-vnet-to-peerpod-vnet \
          --vnet-name "${AZURE_VNET_NAME}" \
          --remote-vnet "${PEERPOD_VNET_NAME}" --allow-vnet-access \
          --allow-forwarded-traffic
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令来同步对等连接:

      $ az network vnet peering sync -g "${AZURE_RESOURCE_GROUP}" \
          -n peerpod-azure-vnet-to-peerpod-vnet \
          --vnet-name "${AZURE_VNET_NAME}"
      Copy to Clipboard Toggle word wrap
    3. 运行以下命令来完成 peering 连接:

      $ az network vnet peering create -g "${AZURE_RESOURCE_GROUP}" \
          -n peerpod-peerpod-vnet-to-azure-vnet \
          --vnet-name "${PEERPOD_VNET_NAME}" \
          --remote-vnet "${AZURE_VNET_NAME}" --allow-vnet-access \
          --allow-forwarded-traffic
      Copy to Clipboard Toggle word wrap

验证

  1. 运行以下命令,从集群 VNet 检查对等连接状态:

    $ az network vnet peering show -g "${AZURE_RESOURCE_GROUP}" \
        -n peerpod-azure-vnet-to-peerpod-vnet \
        --vnet-name "${AZURE_VNET_NAME}" \
        --query "peeringState" -o tsv
    Copy to Clipboard Toggle word wrap

    这应该返回 Connected

  2. 运行以下命令,验证 NAT 网关是否已附加到对等 pod 子网:

    $ az network vnet subnet show --resource-group "${AZURE_RESOURCE_GROUP}" \
        --vnet-name "${PEERPOD_VNET_NAME}" --name "${PEERPOD_SUBNET_NAME}" \
        --query "natGateway.id" -o tsv
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat