配置 hub

本页面介绍了如何创建不同项目中的 VPC spoke 可连接到的 hub。 它还详细介绍了如何在创建 hub 时为 VPC spoke 选择网状拓扑或星形拓扑的预设选项。

作为 hub 管理员,您可以使用 gcloud network-connectivity hubs groups update 命令更新 spoke 群组。您可以添加项目 ID 或项目编号列表,以便为 spoke 启用自动接受功能。启用自动接受功能后,自动接受项目中的 spoke 会自动连接到 hub,而无需对各个 spoke 提案进行审核,并且会进入 ACTIVE 状态。对于未包含在自动接受列表中的项目,在您审核并接受 spoke 之前,spoe 会保持 INACTIVE 状态。

您可以使用 gcloud network-connectivity hubs groups list --hub 命令将中心群组和边缘群组作为特定 hub 的嵌套资源列出。对于使用网状拓扑创建的 hub,输出会返回默认群组。对于使用星形拓扑创建的集线器,输出会返回中心群组和边缘群组。

准备工作

开始之前,请查看以下部分。

创建或选择项目

为了更轻松地配置 Network Connectivity Center,请先确定有效项目。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. 如果您使用的是 Google Cloud CLI,请使用 gcloud config set 命令设置项目 ID。

    gcloud config set project PROJECT_ID

    PROJECT_ID 替换为您的唯一项目 ID。

    此页面上的 gcloud CLI 说明假定您已设置项目 ID。

  11. 如需确认您正确设置了项目 ID,请使用 gcloud config list 命令

    gcloud config list --format='text(core.project)'

启用 Network Connectivity API

您必须先启用 Network Connectivity API,然后才能使用 Network Connectivity Center 执行任何任务。

控制台

如要启用 Network Connectivity API,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 Network Connectivity Center 页面。

    转到 Network Connectivity Center

  2. 点击启用

或者,您可以使用 Google Cloud 控制台 API 库来启用 API,如启用 API 中所述。

获取访问权限

如要使用 Network Connectivity Center,您需要具备角色和权限中所述的权限。

确定资源

使用 gcloud CLI 或 API 引用资源时,请使用下表中所述的惯例。

会展 支持 备注 示例
完整 URI 所有资源 使用其中一种方法来引用路由器设备实例。
"https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

      
相对资源名称 所有资源
"projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

    
名称 区域和全球资源 将此方法用于 hub、spoke、VPN 隧道和 VLAN 连接。
 "HUB_NAME"

    

创建 hub

如需创建 hub,请按照以下步骤操作。

控制台

  1. 在 Google Cloud 控制台中,转到 Network Connectivity Center 页面。

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. 点击创建 hub

  4. 完成表单的基本配置部分:

    1. 输入 Hub 名称
    2. (可选)输入说明
    3. 选择预设拓扑类型
    4. 可选:要添加标签,请点击添加项,然后输入
    5. 验证表单是否显示正确的项目 ID。如果项目 ID 不正确,请使用页面顶部的菜单选择其他项目。
  5. Private Service Connect 连接传播部分,点击开启关闭预览版)以启用或停用 Private Service Connect 连接传播。

  6. 执行下列其中一项操作:

    • 如果您要创建连接到此 hub 的 spoke,请点击下一步,然后完成表单的 soke 创建部分。如需查看相关说明,请参阅创建 VPC spoke
    • 如果您现在不想创建 spoke,请点击创建以完成创建新 hub 的操作。

gcloud

如需创建 Hub,请使用 gcloud network-connectivity hubs create 命令

  gcloud network-connectivity hubs create hub HUB_NAME \
      --policy-mode="POLICY_MODE" \
      --preset-topology="TOPOLOGY_TYPE" \
      --description="DESCRIPTION" \
      --labels="KEY"="VALUE"

如果要为 Network Connectivity Center hub 全局启用 Private Service Connect 传播连接(预览版),请使用 --export-psc 标志。此功能仅适用于 VPC spoke。

  gcloud network-connectivity hubs create HUB_NAME \
      --description="DESCRIPTION" \
      --labels="KEY"="VALUE" \
      --export-psc

替换以下值:

  • HUB_NAME:新 Hub 的名称
  • POLICY_MODE:可选:用于启用预设拓扑的政策模式,例如 PRESET
  • TOPOLOGY_TYPE:预设拓扑类型。支持的值为 STARMESH。默认值为 MESH
  • DESCRIPTION:用于描述该 Hub 的可选文本
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值

如需在现有 hub 上启用 Private Service Connect 连接传播,请参阅更新 hub。如果您想在现有 hub 上停用 Private Service Connect 连接传播功能,请使用 --no-export-psc 标志。现有的传播连接会异步移除。

API

如要创建 Hub,请使用 networkconnectivity.hubs.create 方法

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs
  {
    "name":"HUB_NAME",
    "description":"DESCRIPTION",
    "labels": {
      "KEY": "VALUE"
    }
  }

如需选择预设拓扑,请使用相同的方法并指定拓扑:

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs
  {
    "name":"HUB_NAME",
    "description":"DESCRIPTION",
    "preset_topology": "TOPOLOGY_TYPE"
  }

如果要为 Network Connectivity Center hub 全局启用 Private Service Connect 传播连接(预览版),请将 export-psc 值设置为“true”。此功能仅适用于 VPC spoke。

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs
  {
    "export_psc": true
  }

替换以下值:

  • PROJECT_ID:新 Hub 所属项目的项目ID
  • HUB_NAME:新 Hub 的名称
  • DESCRIPTION:用于描述该 Hub 的可选文本
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值
  • TOPOLOGY_TYPE:预设拓扑类型。支持的值为 STARMESH。默认值为 MESH

如需在现有 hub 上启用 Private Service Connect 连接传播,请参阅更新 hub。如果您想停用现有 hub 上的 Private Service Connect 连接传播功能,请将 export_psc 值设置为“false”。现有的传播连接会异步移除。

如需详细了解其他 hub 命令(例如 list、describe 和 update),请参阅处理 hub 和 spoke

为 spoke 群组管理自动接受项目

如需更新 spoke 群组的自动接受项目,请按以下步骤操作。

控制台

  1. 在 Google Cloud 控制台中,转到 Network Connectivity Center

    转到 Network Connectivity Center

  2. 在项目菜单中,选择 Hub 所在的项目。

  3. 点击要更新自动接受项目的 hub 名称。

  4. Hub 详细信息页面的群组下,点击群组名称旁边的修改。对于网状拓扑连接,只有一个默认群组。对于星形拓扑连接,群组是中心群组和边缘群组。

  5. 修改群组窗格中,执行以下步骤之一:

    • 如要添加您要自动接受 spoke 的项目,请点击添加项目 ID,然后输入项目 ID。如需添加更多项目,请点击添加项目 ID

    • 如需从自动接受列表中移除项目 ID,请点击项目 ID 旁边的删除。

  6. 点击保存

gcloud

如需更新 spoke 群组,请使用 gcloud network-connectivity hubs groups update 命令

gcloud network-connectivity hubs groups update GROUP_NAME \
  --hub=HUB_NAME \
  --description=DESCRIPTION \
  --add-auto-accept-projects=PROJECT_NAME_1,PROJECT_NAME_2

替换以下内容:

  • GROUP_NAME:组的名称
  • HUB_NAME:hub 的名称
  • DESCRIPTION:描述该组的可选文本
  • PROJECT_NAME_1PROJECT_NAME_2:要为其启用自动接受功能的一个或多个项目 ID 或项目编号的英文逗号分隔列表

如需从自动接受项目列表中清除所有项目,请使用 --clear-auto-accept-projects 标志。

gcloud network-connectivity hubs groups update GROUP_NAME \
  --hub=HUB_NAME \
  --description=DESCRIPTION \
  --clear-auto-accept-projects

替换以下内容:

  • GROUP_NAME:组的名称
  • HUB_NAME:hub 的名称
  • DESCRIPTION:用于描述该 Hub 的可选文本

如需从自动接受项目列表中移除特定项目,请使用 --remove-auto-accept-projects 标志。

gcloud network-connectivity hubs groups update GROUP_NAME \
  --hub=HUB_NAME \
  --description=DESCRIPTION \
  --remove-auto-accept-projects=PROJECT_NAME_1,PROJECT_NAME_2

替换以下内容:

  • GROUP_NAME:组的名称
  • HUB_NAME:hub 的名称
  • DESCRIPTION:用于描述该 Hub 的可选文本
  • PROJECT_NAME_1PROJECT_NAME_2:要为其停用自动接受功能的一个或多个项目 ID 或项目编号的英文逗号分隔列表

API

如需更新 spoke 群组的自动接受项目,请使用

networkconnectivity.hubs.groups.update 方法

  PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME/groups/GROUP_NAME/update
  {
   "auto_accept": {
       "auto_accept_projects": ["PROJECT_NAME_1","PROJECT_NAME_2"],
    }
  }

替换以下内容:

  • PROJECT_ID:您在其中创建了 hub 的项目的 ID
  • HUB_NAME:hub 的名称
  • GROUP_NAME:组的名称
  • PROJECT_NAME_1PROJECT_NAME_2:您要为其添加或移除自动接受功能的一个或多个项目 ID 或项目编号的英文逗号分隔列表

删除 Hub

如需删除 hub,请按照以下步骤操作。

您必须先删除或拒绝连接到 hub 的所有 spoke,然后才能删除该 hub。如果 spoke 位于其他项目中,您可能无权删除它。在这种情况下,您必须拒绝 spoke。

如需了解删除 Spoke 的步骤,请参阅删除 Spoke

控制台

  1. 在 Google Cloud 控制台中,转到 Network Connectivity Center 页面。

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. 点击 Hub 标签页。

  4. 在 hub 列表中,选择您要删除的 hub。

  5. 点击 Spoke 标签页。系统会列出连接到此 hub 的所有 spoke 及其状态。

  6. 从活跃 spoke 列表中,删除活跃 spoke。如果您无权删除 spoke,请拒绝 spoke

  7. 点击删除 Hub

  8. 在确认对话框中,执行下列操作之一:

    • 如果您不想删除此 Hub,请点击取消
    • 点击删除以删除 Hub。

gcloud

  1. 如需列出连接到您要删除的 hub 的所有活跃 spoke,请使用 gcloud network-connectivity hubs list-spokes 命令

    gcloud network-connectivity hubs list-spokes HUB_NAME \
        --filter="state:ACTIVE"
    

    HUB_NAME 替换为您要删除的 hub 的名称。

  2. 删除活跃 spoke。如果您无权删除 spoke,请拒绝 spoke

  3. 如需删除 Hub,请使用 gcloud network-connectivity hubs delete 命令

    gcloud network-connectivity hubs delete HUB_NAME
    

    HUB_NAME 替换为该 Hub 的名称。

API

  1. 如需列出连接到您要删除的 hub 的所有活跃 spoke,请使用 networkconnectivity.hubs.listSpokes 方法

     GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME:listSpokes
    

    替换以下值:

    • PROJECT_ID:要为其列出 spoke 的 hub 所属项目的 ID
    • HUB_NAME:要为其列出 spoke 的 hub 的名称
  2. 删除活跃 spoke。如果您无权删除 spoke,请拒绝 spoke

  3. 如需删除 Hub,请使用 networkconnectivity.hubs.delete 方法

     DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME
    

    替换以下值:

    • PROJECT_ID:要删除的 hub 所属项目的 ID
    • HUB_NAME:要删除的 Hub 的名称

后续步骤