处理子网池连接性 Code Engine

IBM Cloud® Code Engine 子网池连接功能支持管理 VPC 子网池引用,包括安全组。 机群总是连接到 VPC,创建机群时可以引用子网池,指定 Code Engine 机群工作人员部署到哪个网络区域。 您创建子网池以指定工作负载将被处理的VPC子网和可用区。 例如,您可以在区域内创建包含单个子网的子网池, eu-de-1 或创建包含多个子网的子网池以覆盖区域内的全部三个 eu-de 区域。 此外,您还可以指定工作负载应附加到的安全组。

IBM Cloud® Virtual Private Cloud (VPC) 是一个与您的客户账户关联的虚拟网络。 VPC 通过提供对虚拟基础架构和网络流量分段的细颗粒度控制,为您提供了云安全性以及动态伸缩能力。 您虚拟私有云(VPC)中的子网提供私有连接。 VPC 中的子网可以通过可选的公共网关连接到公用因特网。 您可以通过使用安全组来控制网络流量,从而确保您的 VPC 和工作负载的安全。 有关VPC中的网络 和安全设置,请参阅相关文档以获取更多信息。

您可以通过控制台或命令行界面(CLI)管理子网池。

通过控制台管理子网池

添加子网池

  1. 转到“连接”页面:
    1. 在控制台 Code Engine 的“项目”页面中选择您的项目。
    2. 单击项目设置 > 连接性,然后导航至网络部署的子网池部分,即可查看现有子网池的列表。
  2. 单击 “创建”以创建子网池。
  3. 提供名称。
  4. 选择按名称指定。 您可以创建一个新的 VPC,也可以选择一个现有的 VPC:
    • 要创建新的 VPC:单击 “创建”以创建新的 VPC。 创建 VPC 后,该 VPC 的新建子网会自动添加到子网池中,并应用随 VPC 一起创建的自定义安全组。 您可以直接进入第 5 步以确认子网池的创建,或者更新自动应用的选项(例如,移除一个子网,然后将其与不同的安全组关联后重新添加)。
    • 要使用现有的 VPC
      1. 选择虚拟私有云。
      2. 选择您要指定用于网络部署的VPC子网
      3. 可选:选择一个或多个VPC安全组附加到子网。 若未指定任何安全组,则使用VPC的默认安全组。
      4. 单击 “添加到子网池”可将子网CRN及其可选的安全组CRN添加到子网池。 如果子网池应允许网络放置到多个子网,请重复此步骤。
  5. 点击创建以确认您的配置。

通过CRN添加子网池

  1. 转到“连接”页面:
    1. 在控制台 Code Engine 的“项目”页面中选择您的项目。
    2. 单击项目设置 > 连接性,然后导航至网络部署的子网池部分,即可查看现有子网池的列表。
  2. 单击 “创建子网池”以创建子网池。
  3. 提供名称。
  4. 选择按CRN指定,并提供VPC子网的CRN。 可选地,提供 VPC 安全组 CRN。 若需为子网附加多个安全组,请单击 “添加安全组”。 若未指定任何安全组,则使用VPC的默认安全组。 单击 “添加到子网池”可将子网CRN及其可选的安全组CRN添加到子网池。 如果子网池应允许网络放置到多个子网,请重复此步骤。
  5. 点击创建以确认您的配置。

删除子网池

若不再使用先前定义的子网池,可将其删除。

要管理车队,您需要在项目内至少配置一个子网池。

  1. 转到“连接”页面:
    1. 在控制台 Code Engine 的“项目”页面中选择您的项目。
    2. 单击项目设置 > 连接性,然后导航至子网池部分,即可查看现有子网池的列表。
  2. 转到包含要删除的子网池的行,然后单击三点行操作图标。 单击删除
  3. 在系统提示时确认删除。

通过命令行界面管理子网池

准备工作

在使用 CLI 命令处理子网池之前,您必须这样做:

  1. 登录 [ IBM Cloud,选择区域、账户和资源组。 然后选择 Code Engine 项目。 请参阅 Code Engine CLI 入门
    ibmcloud login target -r REGION -c ACCOUNT_ID -g RESOURCE_GROUP
    ibmcloud ce project select -n PROJECT_NAME
    
  2. 运行以下命令安装 VPC 基础设施插件:
    ibmcloud plugin install vpc-infrastructure
    

有关 VPC CLI 命令的更多信息,请参阅 VPC CLI 参考页面

为网络布局收集子网信息

如果要通过提供一个或多个 VPC 子网的 CRN 来指定用于网络放置的子网池,则需要执行此步骤。

运行命令,最多可获取三个子网的 CRN,您希望舰队工作人员连接到这些子网。 这些子网必须与您要运行车队的 Code Engine 项目位于同一区域。 在输出中找到 CRN,其格式类似于下面的内容:crn:v1:bluemix:public:is:us-east-2:a/1af204bc1def56171eed1a8100b1cc121::subnet:1345-16e10cc-ba18-19ee-de1b0-1213aa1a41a0156. 这些 CRN 将在后面的子网池中引用。

要列出所有子网。

ibmcloud is subnets

获取单个子网的详细信息。

ibmcloud is subnet <subnet_id>

收集每个子网的安全组信息(可选)

如果要将现有的自定义安全组应用到连接到机群工作者的子网,请运行命令获取上一步中找到的每个子网的所有安全组的 CRN。 在每个安全组的输出中,找到 CRN,其格式如下:crn:v1:bluemix:public:is:us-east:a/1af204bc1def56171eed1a8100b1cc121::security-group:6789-16e10cc-ba18-19ee-de1b0-1213aa1a41a0156。 这些 CRN 将在后面的子网池中引用。 如果未指定安全组,则使用 VPC 的默认安全组。

列出所有安全组

ibmcloud is sgs

要获取单个安全组的详细信息。

ibmcloud is sg <securitygroup_id>

添加子网池

对于 Code Engineconnectivity subnetpool CLI 命令,您可以指定 --name--subnet-crn 和 可选的 选项 --security-group-crn 来配置子网池。 请遵循以下准则:

  • 请勿在同一项目中使用重复 --name 值。
  • 请勿在同一子网池内使用重复 --subnet-crn 值。
  1. 选择您的 Code Engine 项目。 例如:

    ibmcloud ce project select --name myproject
    
  2. 通过指定 --name, --subnet-crn,以及可选的 --security-group-crn 选项来创建子网池。 和 --security-group-crn``--subnet-crn 选项可以多次指定。 要将 --security-group-crn 值与其对应的 --subnet-crn 数值关联起来,请使用任意标识符作为键。 请参考此示例,其中使用了键 S1IDx::

    ibmcloud ce connectivity subnetpool create --name my-other-pool \
        --subnet-crn S1=crn:v1:bluemix:public:is:eu-de-3:a/abcdefabcdefabcdefabcd1234567890::subnet:1a1a-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f21 \
        --security-group-crn S1=crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::security-group:2b2b-3c3c3c3c-4d4d-5e5e-6f6f-7g7g7g7g7g7g \
        --subnet-crn IDx=crn:v1:bluemix:public:is:eu-de-3:a/abcdefabcdefabcdefabcd1234567890::subnet:1a1a-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f22 \
        --security-group-crn IDx=crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::security-group:2b2b-3c3c3c3c-4d4d-5e5e-6f6f-7g7g7g7g7g7g \
        --security-group-crn IDx=crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::security-group:2b2b-3c3c3c3c-4d4d-5e5e-6f6f-7g7g7g7g7g8h
    

显示现有子网池

要显示特定子网池,请指定其名称或ID。 例如:

ibmcloud ce connectivity subnetpool get --name my-other-pool

要显示所有子网池,请运行:

ibmcloud ce connectivity subnetpool list

删除子网池

若不再使用先前定义的子网池,可将其删除。

要管理车队,您需要在项目内至少配置一个子网池。

要删除子网池(需确认操作),请指定名称或ID。 例如:

ibmcloud ce connectivity subnetpool delete --name my-other-pool

要强制删除子网池(即无需确认),请运行:

ibmcloud ce connectivity subnetpool delete --name my-other-pool --force