处理子网池连接性 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)管理子网池。
通过控制台管理子网池
添加子网池
- 转到“连接”页面:
- 在控制台 Code Engine 的“项目”页面中选择您的项目。
- 单击项目设置 > 连接性,然后导航至网络部署的子网池部分,即可查看现有子网池的列表。
- 单击 “创建”以创建子网池。
- 提供名称。
- 选择按名称指定。 您可以创建一个新的 VPC,也可以选择一个现有的 VPC:
- 要创建新的 VPC:单击 “创建”以创建新的 VPC。 创建 VPC 后,该 VPC 的新建子网会自动添加到子网池中,并应用随 VPC 一起创建的自定义安全组。 您可以直接进入第 5 步以确认子网池的创建,或者更新自动应用的选项(例如,移除一个子网,然后将其与不同的安全组关联后重新添加)。
- 要使用现有的 VPC:
- 选择虚拟私有云。
- 选择您要指定用于网络部署的VPC子网
- 可选:选择一个或多个VPC安全组附加到子网。 若未指定任何安全组,则使用VPC的默认安全组。
- 单击 “添加到子网池”可将子网CRN及其可选的安全组CRN添加到子网池。 如果子网池应允许网络放置到多个子网,请重复此步骤。
- 点击创建以确认您的配置。
通过CRN添加子网池
- 转到“连接”页面:
- 在控制台 Code Engine 的“项目”页面中选择您的项目。
- 单击项目设置 > 连接性,然后导航至网络部署的子网池部分,即可查看现有子网池的列表。
- 单击 “创建子网池”以创建子网池。
- 提供名称。
- 选择按CRN指定,并提供VPC子网的CRN。 可选地,提供 VPC 安全组 CRN。 若需为子网附加多个安全组,请单击 “添加安全组”。 若未指定任何安全组,则使用VPC的默认安全组。 单击 “添加到子网池”可将子网CRN及其可选的安全组CRN添加到子网池。 如果子网池应允许网络放置到多个子网,请重复此步骤。
- 点击创建以确认您的配置。
删除子网池
若不再使用先前定义的子网池,可将其删除。
要管理车队,您需要在项目内至少配置一个子网池。
- 转到“连接”页面:
- 在控制台 Code Engine 的“项目”页面中选择您的项目。
- 单击项目设置 > 连接性,然后导航至子网池部分,即可查看现有子网池的列表。
- 转到包含要删除的子网池的行,然后单击三点行操作图标。 单击删除。
- 在系统提示时确认删除。
通过命令行界面管理子网池
准备工作
在使用 CLI 命令处理子网池之前,您必须这样做:
- 登录 [ 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 - 运行以下命令安装 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值。
-
选择您的 Code Engine 项目。 例如:
ibmcloud ce project select --name myproject -
通过指定
--name,--subnet-crn,以及可选的--security-group-crn选项来创建子网池。 和--security-group-crn``--subnet-crn选项可以多次指定。 要将--security-group-crn值与其对应的--subnet-crn数值关联起来,请使用任意标识符作为键。 请参考此示例,其中使用了键S1和IDx::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