配置 VPE 网关控制台访问的安全组规则
当 OAuth 访问方式设置为VPE网关时,请添加入站 TCP 安全组规则,以允许VPN客户端连接到集群API服务器和 OAuth 服务器。
有关集群连接流程的更多信息,请参阅《 了解集群连接流程 》。
并非所有集群都需要进行这些更改。 这些步骤仅在以下情况下适用:
- 您更改了安全组,从而阻止了集群工作节点与主VPE网关之间的通信,或者
- 您修改了
kube-<CLUSTER-ID>安全组 ,或者 - 您为集群主机的VPE网关应用了不同的或自定义的安全组,或者
- 以下所有条件均成立。
- 您的集群是一个仅包含私有服务端点的VPC集群。
- 您的群集 OAuth 访问是 vpe-gateway 类型。
- 您的集群使用默认安全集群网络。
允许 VPN 客户端连接到 API 服务器和 OAuth 服务器
按照以下步骤,允许 VPN 客户端与群集的 API 服务器和 OAuth 服务器建立 TCP 的入站连接。
如果您的集群使用默认安全(SBD)网络,并且您修改或重命名了任何SBD安全组,您可能需要修改这些步骤中的命令,以引用修改后的安全组。
-
获取适用于VPE网关的安全组名称。 如果您没有修改任何安全组,则名称采用
kube-vpegw-<cluster-id>格式。 但是,如果您有SBD集群,并且更换或修改了安全组,则格式可能有所不同。ibmcloud is endpoint-gateway iks-<cluster-id> -
列出安全组中适用于VPE网关的规则。 请填写您在上一步骤中找到的安全组的全名。 如果安全组名称不同,请指定该名称,而不是
kube-vpegw-<cluster-id>。 如果您没有修改安全组,输出将列出三个入站规则,允许集群工作人员访问API服务器、Oauth和Konnectivity服务器端口。ibmcloud is security-group kube-vpegw-<cluster-id> -
找到您的客户系统使用的子网。 如果您使用多个客户端系统,请为每个系统重复此步骤。
客户端系统是指访问 API 服务器端口和 OAuth 端口的任何系统,如访问 OpenShift 网络控制台或运行
oc login命令。如果使用的是标准 IBM Cloud 客户端到站点 VPN,请使用
ibmcloud is vpn-server <VPN-NAME-OR-ID>命令查找子网。 在输出中,找到Client IP pool,即可找到子网。 -
获取群集的 API 服务器端口和 OAuth 端口。 在输出中,API服务器端口是
VPE Gateway value末尾的数字。 OAuth 服务器端口是OAuth Server URL值末尾的数字。ibmcloud oc cluster get -c ${CLUSTERID} -
添加一条安全组规则,允许客户端系统子网在连接 VPC 时访问 API 服务器端口和 OAuth 服务器端口。 为每个端口添加单独的规则。 如果您在之前的步骤中为多个客户端系统找到了子网,请为每个子网重复此步骤。
ibmcloud is security-group-rule-add kube-vpegw-${CLUSTERID} inbound tcp --port-min API_SERVER_PORT --port-max API_SERVER_PORT --remote CLIENT_SYSTEM_SUBNET ibmcloud is security-group-rule-add kube-vpegw-${CLUSTERID} inbound tcp --port-min OAUTH_SERVER_PORT --port-max OAUTH_SERVER_PORT --remote CLIENT_SYSTEM_SUBNET示例命令为API服务器端口值
32100和客户端系统子网IP池192.168.192.0/22添加安全组。ibmcloud is security-group-rule-add kube-vpegw-${CLUSTERID} inbound tcp --port-min 32100 --port-max 32100 --remote 192.168.192.0/22 -
再次列出安全组中的规则,以确认上一步中添加的规则存在。
ibmcloud is security-group kube-vpegw-<cluster-id>