配置 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安全组,您可能需要修改这些步骤中的命令,以引用修改后的安全组。

  1. 获取适用于VPE网关的安全组名称。 如果您没有修改任何安全组,则名称采用 kube-vpegw-<cluster-id> 格式。 但是,如果您有SBD集群,并且更换或修改了安全组,则格式可能有所不同。

    ibmcloud is endpoint-gateway iks-<cluster-id>
    
  2. 列出安全组中适用于VPE网关的规则。 请填写您在上一步骤中找到的安全组的全名。 如果安全组名称不同,请指定该名称,而不是 kube-vpegw-<cluster-id>。 如果您没有修改安全组,输出将列出三个入站规则,允许集群工作人员访问API服务器、Oauth和Konnectivity服务器端口。

    ibmcloud is security-group kube-vpegw-<cluster-id>
    
  3. 找到您的客户系统使用的子网。 如果您使用多个客户端系统,请为每个系统重复此步骤。

    客户端系统是指访问 API 服务器端口和 OAuth 端口的任何系统,如访问 OpenShift 网络控制台或运行 oc login 命令。

    如果使用的是标准 IBM Cloud 客户端到站点 VPN,请使用 ibmcloud is vpn-server <VPN-NAME-OR-ID> 命令查找子网。 在输出中,找到 Client IP pool,即可找到子网。

  4. 获取群集的 API 服务器端口和 OAuth 端口。 在输出中,API服务器端口是 VPE Gateway value 末尾的数字。 OAuth 服务器端口是 OAuth Server URL 值末尾的数字。

    ibmcloud oc cluster get -c ${CLUSTERID}
    
  5. 添加一条安全组规则,允许客户端系统子网在连接 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
    
  6. 再次列出安全组中的规则,以确认上一步中添加的规则存在。

    ibmcloud is security-group kube-vpegw-<cluster-id>