创建和管理 VPC 安全组
虚拟私有云 4.15 及更高版本
在集群创建期间添加安全组
创建 VPC 集群时,将自动创建名为 kube-<clusterID> 的缺省工作程序安全组,并将其应用于集群中的所有工作程序。 您还可以在缺省工作程序安全组旁边附加其他安全组。 应用于集群中工作程序的安全组是在创建集群和创建工作程序池时应用的安全组的组合。 您的集群最多可应用五个安全组。
一旦创建了集群,就无法更改应用于集群的安全组。 您可以更改应用于集群的安全组的规则,但不能在集群级别添加或除去安全组。 如果在集群创建时应用了不正确的安全组,那么必须删除该集群并创建新的安全组。
如果只需要缺省安全组
创建集群时,请勿指定任何其他安全组。
ibmcloud oc cluster create vpc-gen2 --name CLUSTER-NAME --zone ZONE --vpc-id VPC-ID --subnet-id SUBNET-ID
查看安全组
执行以下步骤以查看有关 VPC 安全组的详细信息。
-
列出集群并记下您正在其中工作的集群的 标识。
要检查集群中的 VPC,请运行
ibmcloud oc cluster get --cluster <cluster_name_or_id>并检查输出中的 VPC 标识。ibmcloud oc cluster ls --provider vpc-gen2 -
列出连接到集群所在的 VPC 的安全组。 将为 VPC 安全组分配随机生成的名称,例如
trench-hexagon-matriarch-flower。 集群安全组以kube-<cluster-ID>格式命名。ibmcloud is sgs | grep <vpc_name>示例输出
ID Name Rules Network interfaces VPC Resource group r006-111aa1aa-1a1a-1a11-1111-a111aaa1a11a trench-hexagon-matriarch-flower 4 0 my-vpc default r006-222aa2aa-2a2a-2a22-2222-a222aaa2a22a kube-a111a11a11aa1aa11a11 4 0 my-vpc default r006-333aa3aa-3a3a-3a33-3333-a333aaa3a33a kube-r006-111a11aa-aaa1-1a1a-aa11-1a1a111aa11 4 0 my-vpc default -
获取安全组的详细信息。 在输出中找到 规则 部分,以查看附加到安全组的入站和出站规则。
ibmcloud is sg GROUP示例输出
... Rules ID Direction IP version Protocol Remote r006-111bb1bb-1b1b-1b11-1111-b111bbb1b11b outbound ipv4 all 0.0.0.0/0 r006-222bb2bb-2b2b-2b22-2222-b222bbb2b22b inbound ipv4 all behind-unbuilt-guidable-anthill r006-333bb3bb-3b3b-3b33-3333-b333bbb3b33b inbound ipv4 icmp Type=8 0.0.0.0/0 r006-444bb4bb-4b4b-4b44-4444-b444bbb4b44b inbound ipv4 tcp Ports:Min=22,Max=22 0.0.0.0/0
在控制台中查看安全组
-
从 VPC 仪表板的安全组中,查找附加到集群所在的 VPC 的安全组。
-
点击安全组。
要按附加到的 VPC 对安全组进行排序,请单击表中的 虚拟私有云 列标题。
-
要查看附加到安全组的入站和出站规则,请单击 规则 选项卡。
在控制台中创建安全组规则
-
从 虚拟私有云仪表板中,单击集群所在 VPC 的 缺省安全组 的名称。
-
单击 “规则”选项卡。
- 要创建新的入站规则以控制到工作程序节点的入站流量,请在“入站规则”部分中单击 创建。
- 要创建新规则来控制到工作节点的出站流量,请在“出站规则”部分单击“创建”。
添加规则后,不要删除允许控制台所有出站流量的默认设置。 相反,从 CLI 运行
ibmcloud is security-group-rule-delete命令来删除规则。
在命令行中创建安全组规则
使用 IBM Cloud 命令行界面(CLI)为集群的默认安全组添加入站和出站规则。
- 安装
infrastructure-service插件。 用于运行命令的前缀是ibmcloud is。ibmcloud plugin install infrastructure-service - 请选择您的 VPC 所在的区域。
ibmcloud target -r REGION - 获取您的集群 ID。
ibmcloud oc cluster get -c CLUSTER - 列出您的安全组并注明 ID。
具有随机生成的名称ibmcloud is sgschamomile-dislodge-showier-unfilled的 VPC 的缺省安全组的示例输出。ID Name Rules Network interfaces VPC Resource group 1a111a1a-a111-11a1-a111-111111111111 chamomile-dislodge-showier-unfilled 5 2 events-vpc default 2b222b2b-b222-22b2-b222-222222222222 kube-df253b6025d64744ab99ed63bb4567b6 5 3 gen2-vpn default - 将安全组标识存储为环境变量。
sg=GROUP - 查看安全组的缺省规则。
ibmcloud is sg $sg- 要创建入站交通规则,请使用
ibmcloud is sg-rulec <sg> inbound命令。
ibmcloud is sg-rulec $sg inbound <protocol> [--remote <remote_address> | <CIDR_block> | <security_group_ID>] [--icmp-type <icmp_type> [--icmp-code <icmp_code>]] [--port-min <port_min>] [--port-max <port_max>] ``` * 要创建出站流量规则,请使用 [`ibmcloud is sg-rulec <sg> outbound` 命令](/docs/vpc?topic=vpc-creating-vpc-resources-with-cli-and-api&interface=cli#add-rules-to-default-security-group)。 ```sh {: pre} ibmcloud is sg-rulec $sg outbound <protocol> [--remote <remote_address> | <CIDR_block> | <security_group_ID>] [--icmp-type <icmp_type> [--icmp-code <icmp_code>]] [--port-min <port_min>] [--port-max <port_max>] ``` 1. 创建定制出站规则后,获取允许所有出站流量的缺省规则的标识。 ```sh {: pre} ibmcloud is sg $sg ``` 示例输出 ```sh {: screen} Rules ID Direction IP version Protocol Remote r010-e3a34cbb-d5e8-4713-a57e-3e35a7458272 inbound ipv4 all freeload-flavored-surging-repaying r010-036c3a13-1c16-4425-9667-a4ec34b1702b inbound ipv4 icmp Type=8 0.0.0.0/0 r010-15591636-6976-493f-a94f-70721702860a inbound ipv4 tcp Ports:Min=22,Max=22 0.0.0.0/0 ``` 1. 删除允许所有出站流量的缺省规则。 ```sh {: pre} ibmcloud is security-group-rule-delete $sg <rule_ID> ``` - 要创建入站交通规则,请使用