設定 VPE 閘道器控制台存取的安全群組規則

當 OAuth 存取方式設定為 VPE 閘道時,請新增入站 TCP 安全群組規則,以允許 VPN 客戶端連線至叢集 API 伺服器及 OAuth 伺服器。

如需進一步了解叢集連線流程,請參閱 《了解叢集連線流程》

並非所有群集都需要這些變更。 這些步驟僅適用於下列情況

  • 您已變更安全群組,因此群集工作者與主 VPE 閘道之間的流量已被封鎖,
  • 您已修改 kube-<CLUSTER-ID> 安全群組,
  • 您對群集主機的 VPE 閘道套用了不同或自訂的安全群組,
  • 以下所有條件均成立。
    • 您的群集是 VPC 群集,只有私有服務端點。
    • 您的群集 OAuth 存取是 vpe-gateway 類型。
    • 您的群集使用 Secure by Default 群集網路。

允許 VPN 用戶端連線至 API 伺服器和 OAuth 伺服器

按照以下步驟,允許從 VPN 用戶端到群集 API 伺服器和 OAuth 伺服器的入站 TCP 連線。

如果您的群集使用 Secure by Default (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>