IBM Cloud Docs
在允许列表中打开所需的端口和 IP 地址

在允许列表中打开所需的端口和 IP 地址

经典集群

此允许列表信息仅适用于经典集群。 对于 VPC 群集,请参阅 在允许列表中为 VPC 群集打开所需的端口和 IP 地址

查看这些情况,您可能需要在允许列表中为 IBM Cloud® Kubernetes Service 集群打开特定端口和 IP 地址。

  • 企业允许列表:如果企业网络策略阻止通过代理或允许列表从本地系统访问公共端点,则必须允许从本地系统运行 ibmcloud, ibmcloud ks, ibmcloud cr, kubectlcalicoctl 命令。
  • 网关设备允许列表:如果在 IBM Cloud 基础架构帐户(如 VRA)的公共或专用网络上设置了允许列表,则必须打开 IP 范围、端口和协议,以允许工作节点与主控设备、基础架构资源和其他 IBM Cloud 服务通信。 此外,还可以打开端口以允许入局流量流至公开集群中应用程序的服务。
  • Calico 网络策略:如果使用 网络策略作为限制所有工作节点出口的允许列表,则必须允许工作节点访问群集运行所需的资源。Calico
  • 其他服务或网络允许列表:要允许群集访问在 IBM Cloud 内部或外部或内部网络中运行并受允许列表保护的服务,必须在允许列表中添加工作节点的 IP 地址。

在企业允许列表中打开端口

如果企业网络策略阻止通过代理或允许列表从本地系统访问公共端点,则必须允许从本地系统运行 ibmcloud, ibmcloud ks, 和 ibmcloud cr 命令kubectl 指令calicoctl 指令

从允许列表后面运行 ibmcloudibmcloud ksibmcloud cr 命令

如果企业网络策略阻止本地系统通过代理或允许列表访问公共端点,要运行 ibmcloudibmcloud ksibmcloud cr 命令,必须允许 IBM Cloud、IBM Cloud Kubernetes Service 和 IBM Cloud Container Registry 的 TCP 访问。

  1. 在允许列表中允许通过 443 端口访问 cloud.ibm.com

  2. 通过此 API 端点登录到 IBM Cloud 来验证连接。

    ibmcloud login -a https://cloud.ibm.com/
    
  3. 在允许列表中允许通过 443 端口访问 containers.cloud.ibm.com

  4. 验证连接。 如果访问配置正确,则会在输出中显示区段。

    curl https://containers.cloud.ibm.com/v1/zones
    

    示例输出

    [{"id":"mon01","metro":""},{"id":"tor01","metro":""},{"id":"wdc04","metro":"Washington D.C."},{"id":"wdc06","metro":"Washington D.C."},{"id":"wdc07","metro":"Washington D.C."}]
    
  5. 允许访问您计划在允许列表中的端口 443 上使用的 IBM Cloud Container Registry 区域。 全局注册表存储 IBM 提供的公共映像,区域注册表存储您自己的专用或公共映像。

  6. 通过 列出容器注册表名称空间来验证连接。

从允许列表后面运行 kubectl 命令

如果企业网络策略阻止本地系统通过代理或允许列表访问公共端点,要运行 kubectl 命令,必须允许群集访问 TCP。

创建群集时,服务端点 URL 中的端口会在 30000-32767 范围内随机分配。 您可以选择为任何可能创建的群集开放端口范围 30000-32767,也可以选择允许特定现有群集访问。

开始之前,允许访问以运行 ibmcloud ks 命令

要允许访问特定集群:

  1. 登录到 IBM Cloud CLI。 根据提示,输入您的 IBM Cloud 凭证。 如果您有联合帐户,请包括 --sso 选项。

    ibmcloud login [--sso]
    
  2. 如果集群位于非 default 资源组中,请将该资源组设定为目标。 要查看每个集群所属的资源组,请运行 ibmcloud ks cluster ls:对于该资源组,您必须至少具有查看者角色

    ibmcloud target -g <resource_group_name>
    
  3. 获取集群的名称。

    ibmcloud ks cluster ls
    
  4. 检索集群的服务端点 URL。

    • 如果仅填充了公共服务端点 URL,请获取此 URL。 授权集群用户可以通过公用网络上的此端点来访问主节点。
    • 如果仅填充了专用服务端点 URL,请获取此 URL。 授权集群用户可以通过专用网络上的此端点来访问主节点。
    • 如果同时填充了公共服务端点 URL专用服务端点 URL,请获取这两个 URL。 授权集群用户可以通过公用网络上的公共端点或专用网络上的专用端点来访问主节点。
    ibmcloud ks cluster get --cluster <cluster_name_or_ID>
    

    示例输出

    ...
    Public Service Endpoint URL:    https://c3.<region>.containers.cloud.ibm.com:30426
    Private Service Endpoint URL:   https://c3-private.<region>.containers.cloud.ibm.com:31140
    ...
    
  5. 允许访问在上一步中获得的服务端点 URL 和端口。 如果允许列表是基于 IP 的,则可以通过查看 此表,了解允许访问服务端点 URL 时打开的 IP 地址。

  6. 验证连接。

    • 如果公共云服务端点已启用:

      curl --insecure <public_service_endpoint_URL>/version
      

      示例命令:

      curl --insecure https://c3.<region>.containers.cloud.ibm.com:31142/version
      

      示例输出

      {
      "major": "1",
      "minor": "7+",
      "gitVersion": "v1.7.4-2+eb9172c211dc41",
      "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534",
      "gitTreeState": "clean",
      "buildDate": "2017-11-16T08:13:08Z",
      "goVersion": "go1.8.3",
      "compiler": "gc",
      "platform": "linux/amd64"
      }
      
    • 如果启用了私有云服务端点,您必须在 IBM Cloud 私有网络中或通过 VPN 连接到私有网络,以验证您与主站的连接。 :您必须通过专用负载均衡器公开主节点端点,以便用户可以通过 VPN 或 IBM Cloud® Direct Link 连接访问主节点。

      curl --insecure <private_service_endpoint_URL>/version
      

      示例命令:

      curl --insecure https://c3-private.<region>.containers.cloud.ibm.com:31142/version
      

      示例输出

      {
      "major": "1",
      "minor": "7+",
      "gitVersion": "v1.7.4-2+eb9172c211dc41",
      "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534",
      "gitTreeState": "clean",
      "buildDate": "2017-11-16T08:13:08Z",
      "goVersion": "go1.8.3",
      "compiler": "gc",
      "platform": "linux/amd64"
      }
      
  7. 可选:对您需要显示的每个集群重复上述步骤。

从允许列表后面运行 calicoctl 命令

如果企业网络策略阻止本地系统通过代理或允许列表访问公共端点,要运行 calicoctl 命令,就必须允许 TCP 访问 Calico 命令。

开始之前,允许访问以运行 ibmcloud 命令kubectl 命令

  1. 从用于允许 kubectl 命令的主 URL 中检索 IP 地址。

  2. 获取 etcd 的端口。

    kubectl get cm -n kube-system cluster-info -o yaml | grep etcd_host
    
  3. 允许通过主 URL IP 地址和 etcd 端口访问 Calico 策略。

在网关设备允许列表中打开端口

如果在 IBM Cloud 基础架构账户(如 Virtual Router Appliance (Vyatta))的 公共网络专用网络 上设置了 allowlists,则必须打开 IP 范围、端口和协议,以便让工作节点与主控节点、基础架构资源和其他 IBM Cloud 服务通信。

在公共允许列表中打开所需的端口

如果在 IBM Cloud 基础架构账户(如 Virtual Router Appliance (Vyatta))中有一个公共网络允许列表,则必须在允许列表中打开 IP 范围、端口和协议,以允许工作节点与主控节点、基础架构资源和其他 IBM Cloud 服务通信。

开始之前,请注意群集中每个工作节点的公共 IP 地址。

ibmcloud ks worker ls --cluster <cluster_name_or_ID>

允许工作程序节点与集群主节点通信

要允许工作节点通过公共云服务端点与群集主控通信,请允许从源到目标 TCP/UDP 端口范围 30000-32767 和端口 443 以及以下 IP 地址和网络组的出站网络流量 <each_worker_node_publicIP> 到目的地的 TCP/UDP 端口范围 30000-32767 和端口 443,以及以下 IP 地址和网络组。

此表正在移动。 有关最新 IP 列表和持续更新,请参阅 IBM/kube-samples 存储库中的公用网络隔离文件夹。 您可以 监视 存储库中的拉取请求以获取更新。

  • TCP/UDP port range 30000-32767, port 443 FROM <each_worker_node_publicIP> TO <public_IPs>
  • <public_IPs> 替换为群集所在地区的公共 IP 地址。
要为出局流量打开的 IP 地址
区域 公共 IP 地址
AP North (che01, sng01, tok02, tok04, tok05) 119.81.194.90, 119.81.222.210, 128.168.106.194, 128.168.71.117, 128.168.75.194, 128.168.85.154, 135.90.69.66, 135.90.69.82, 161.202.126.210, 161.202.154.10, 161.202.186.226, 161.202.56.10, 161.202.57.34, 165.192.69.69, 165.192.80.146, 165.192.83.202, 165.192.95.90, 169.38.68.178, 169.38.70.10, 169.38.79.170, 169.56.1.162, 169.56.132.234, 169.56.48.114, 169.56.69.242, 169.56.96.42, 104.94.220.124, 104.94.221.124, 104.94.222.132, 104.94.223.132, 104.96.176.124, 104.96.177.124, 104.96.178.126, 104.96.179.126, 104.96.180.123, 104.96.181.123
AP 南部 (syd01syd04syd05) 130.198.64.19, 130.198.66.26, 130.198.79.170, 130.198.83.34, 130.198.102.82, 135.90.66.2, 135.90.68.114, 135.90.69.66, 135.90.69.82, 135.90.89.234, 168.1.6.106, 168.1.8.195, 168.1.12.98, 168.1.39.34, 168.1.58.66, 104.94.220.125, 104.94.221.125, 104.94.222.133, 104.94.223.133, 104.96.176.125, 104.96.177.125, 104.96.178.127, 104.96.179.127, 104.96.180.124, 104.96.181.124
欧盟中心 (ams03mil01par01fra02fra04fra05) 149.81.103.98, 149.81.104.122, 149.81.113.154, 149.81.123.18, 149.81.142.90, 149.81.180.114, 149.81.180.122, 149.81.68.2, 149.81.78.114, 158.177.102.162, 158.177.107.50, 158.177.112.146, 158.177.138.138, 158.177.151.2, 158.177.156.178, 158.177.198.138, 158.177.79.34, 159.122.141.69, 159.122.150.2, 159.8.79.250, 159.8.86.149, 159.8.95.34, 161.156.115.138, 161.156.120.74, 161.156.12.82, 161.156.183.218, 161.156.187.226, 161.156.65.42, 161.156.65.82, 161.156.74.10, 161.156.79.26, 169.50.146.82, 169.50.169.110, 169.50.184.18, 169.50.56.174, 169.51.197.18, 104.94.220.127, 104.94.221.127, 104.94.222.135, 104.94.223.135, 104.96.176.127, 104.96.177.127, 104.96.178.129, 104.96.179.129, 104.96.180.126, 104.96.181.126
马德里 (mad02mad04mad05) 13.120.65.98, 13.120.127.250, 13.121.64.178, 13.121.64.186, 13.122.65.10, 13.122.65.34, 2.18.48.89, 2.18.49.89, 2.18.50.89, 2.18.51.89, 2.18.52.89, 2.18.53.89, 2.18.54.89, 2.18.55.89, 23.40.100.89, 23.7.244.89
大坂 (osa21osa22osa23) 163.68.69.114, 163.68.69.122, 163.69.65.114, 163.69.65.122, 163.73.64.250, 163.73.65.194, 104.94.220.131, 104.94.221.131, 104.94.222.139, 104.94.223.139, 104.96.176.131, 104.96.177.131, 104.96.178.133, 104.96.179.133, 104.96.180.130, 104.96.181.130
圣保罗 (sao01sao04sao05) 163.107.65.194, 163.107.65.202, 163.109.65.154, 163.109.65.242, 169.57.159.130, 169.57.254.50, 104.94.220.129, 104.94.221.129, 104.94.222.137, 104.94.223.137, 104.96.176.129, 104.96.177.129, 104.96.178.131, 104.96.179.131, 104.96.180.128, 104.96.181.128
多伦多 (tor01tor04tor05) 158.85.77.114, 158.85.110.18, 163.74.65.242, 163.74.65.250, 163.75.64.122, 163.75.64.162, 104.94.220.132, 104.94.221.132, 104.94.222.140, 104.94.223.140, 104.96.176.132, 104.96.177.132, 104.96.178.134, 104.96.179.134, 104.96.180.131, 104.96.181.131
英国南部 (lon02lon04lon05lon06) 141.125.102.106, 141.125.66.26, 141.125.67.34, 141.125.77.58, 141.125.91.138, 158.175.111.42, 158.175.125.194, 158.175.139.130, 158.175.150.122, 158.175.65.170, 158.175.77.178, 158.175.82.50, 158.176.123.130, 158.176.135.242, 158.176.142.26, 158.176.149.154, 158.176.71.242, 158.176.94.26, 158.176.95.146, 159.122.224.242, 159.122.242.78, 104.94.220.126, 104.94.221.126, 104.94.222.134, 104.94.223.134, 104.96.176.126, 104.96.177.126, 104.96.178.128, 104.96.179.128, 104.96.180.125, 104.96.181.125
美国东部 (mon01wdc04wdc06wdc07) 158.85.97.34, 169.47.162.130, 169.47.174.106, 169.53.167.50, 169.53.171.210, 169.54.126.219, 169.54.80.106, 169.54.94.26, 169.60.100.242, 169.60.101.42, 169.60.111.58, 169.60.73.142, 169.60.92.50, 169.60.92.66, 169.61.109.34, 169.61.110.66, 169.61.74.210, 169.61.83.62, 169.62.10.162, 169.62.9.250, 169.63.106.50, 169.63.111.82, 169.63.149.122, 169.63.158.82, 169.63.160.130, 169.63.66.226, 169.63.75.82, 169.63.88.178, 169.63.88.186, 169.63.94.210, 52.117.72.42, 52.117.88.42, 104.94.220.128, 104.94.221.128, 104.94.222.136, 104.94.223.136, 104.96.176.128, 104.96.177.128, 104.96.178.130, 104.96.179.130, 104.96.180.127, 104.96.181.127
美国南部 (sjc03sjc04dal10dal12dal13) 50.22.129.34, 52.116.231.210, 52.116.254.234, 52.116.54.122, 52.117.197.210, 52.117.212.34, 52.117.215.162, 52.117.232.194, 52.117.240.106, 52.117.28.138, 67.228.97.210, 169.45.126.154, 169.45.67.210, 169.45.88.98, 169.46.110.218, 169.46.111.122, 169.46.16.202, 169.46.24.210, 169.46.27.234, 169.46.63.250, 169.46.68.234, 169.46.7.238, 169.46.89.50, 169.47.109.34, 169.47.115.18, 169.47.201.194, 169.47.209.66, 169.47.229.90, 169.47.232.210, 169.47.239.34, 169.47.242.242, 169.47.70.10, 169.47.71.138, 169.48.110.250, 169.48.143.218, 169.48.161.242, 169.48.226.2, 169.48.230.146, 169.48.244.66, 169.57.100.18, 169.57.13.10, 169.57.147.58, 169.57.151.10, 169.57.154.98, 169.59.219.90, 169.59.223.194, 169.59.230.98, 169.60.128.2, 169.60.170.234, 169.61.175.106, 169.61.177.2, 169.61.187.58, 169.61.228.138, 169.61.28.66, 169.61.29.194, 169.61.60.130, 169.62.166.98, 169.62.189.26, 169.62.206.234, 169.62.230.114, 169.62.82.197, 169.62.87.170, 169.62.97.218, 169.63.39.66, 169.63.47.250, 104.94.220.130, 104.94.221.130, 104.94.222.138, 104.94.223.138, 104.96.176.130, 104.96.177.130, 104.96.178.132, 104.96.179.132, 104.96.180.129, 104.96.181.129

允许工作程序节点与 IBM Cloud Container Registry 通信

允许从工作节点向 IBM Cloud Container Registry 发送网络流量。 有关更多信息,请参阅 通过防火墙访问 IBM Cloud Container Registry

允许从工作程序节点到 IAM 的传出网络流量

允许出局网络流量从工作程序节点流至 IBM Cloud Identity and Access Management (IAM)。 您的 allowlist 必须是第 7 层,以允许 IAM 域名。 IAM 没有允许使用的特定 IP 地址。 如果允许列表不支持第 7 层,则可以允许端口 443 上的所有 HTTPS 网络流量。

  • TCP port 443 FROM <each_worker_node_publicIP> TO https://iam.bluemix.net
  • TCP port 443 FROM <each_worker_node_publicIP> TO https://iam.cloud.ibm.com

可选:允许从工作节点向 Monitoring 和 IBM Cloud Logs 服务发送网络流量

  • IBM Cloud Monitoring:

    • TCP port 443, port 6443 FROM <each_worker_node_public_IP> TO <monitoring_public_IP>
    • <monitoring_public_IP> 替换为 Monitoring IP 地址
  • IBM Cloud Logs:

    • TCP port 443, port 80 FROM <each_worker_node_public_IP> TO <logging_public_IP>
    • <logging_public_IP> 替换为 IBM Cloud Logs IP 地址

可选: 允许受管 Istio 附加组件的入局和出局网络流量

  • 允许来自 istio-egressgateway 负载均衡器的传出网络流量通过以下端口: TCP port 80, port 15443 FROM <each_worker_node_publicIP>
  • 允许通过以下端口传入到 istiod 控制平面和 istio-ingressgateway 负载均衡器的网络流量: TCP port 443, port 853, port 15010, port 15012, port 15014 FROM <each_worker_node_publicIP>

后续步骤

如果使用负载均衡器服务,请确保在公共接口和专用接口上的工作程序节点之间允许使用 VRRP 协议的所有流量。IBM Cloud Kubernetes Service 使用 VRRP 协议来管理公共和专用负载均衡器的 IP 地址。

在私人允许列表中打开所需的端口

如果在 IBM Cloud 基础架构账户(如 Virtual Router Appliance (Vyatta))中的私有网络上有一个允许列表,则必须在允许列表中打开 IP 范围、端口和协议,以允许工作节点与主控节点、工作节点之间、工作节点与基础架构资源以及其他 IBM Cloud 服务进行通信。

准备工作

  1. 允许 IBM Cloud 基础架构专用 IP 范围,从而可在集群中创建工作程序节点。

    1. 允许相应的 IBM Cloud 基础架构专用 IP 范围。 请参阅后端(专用)网络
    2. 允许 IBM Cloud 基础设施为您使用的所有 区域 提供专用 IP 范围。 注意:您必须添加 166.8.0.0/14161.26.0.0/16 IP 范围、dal10wdc04 区域的 IP 范围。 请参阅服务网络(在后端/专用网络上)
  2. 记下集群中每个工作程序节点的专用 IP 地址。

    ibmcloud ks worker ls --cluster <cluster_name_or_ID>
    

允许工作程序节点与集群主节点通信

要允许工人节点通过私有云服务端点与群集主控通信,请允许从源到目标 TCP/UDP 端口范围 30000-32767 和端口 443 以及以下 IP 地址和网络组的出站网络流量 <each_worker_node_privateIP> 到目的地的 TCP/UDP 端口范围 30000-32767 和端口 443,以及以下 IP 地址和网络组。

此表正在移动。 有关最新 IP 列表和持续更新,请参阅 IBM/kube-samples 存储库中的专用网络隔离文件夹。 您可以 监视 存储库中的拉取请求以获取更新。

  • TCP/UDP port range 30000-32767, port 443 FROM <each_worker_node_privateIP> TO <private_IPs>
  • <private_IPs> 替换为群集所在地区的专用 IP 地址。
要为出局流量打开的 IP 地址
区域 专用 IP 地址
AP North (che01, sng01, tok02, tok04, tok05) 166.9.40.102, 166.9.40.21, 166.9.40.36, 166.9.40.39, 166.9.40.6, 166.9.40.7, 166.9.40.8, 166.9.40.88, 166.9.42.23, 166.9.42.28, 166.9.42.55, 166.9.42.6, 166.9.42.7, 166.9.42.97, 166.9.44.15, 166.9.44.3, 166.9.44.4, 166.9.44.47, 166.9.44.5, 166.9.44.88, 166.9.46.4, 166.9.60.2, 166.9.60.4, 166.9.249.106, 166.9.249.136, 166.9.249.170
AP 南部 (syd01syd04syd05) 166.9.52.14, 166.9.52.15, 166.9.52.23, 166.9.52.30, 166.9.52.31, 166.9.54.11, 166.9.54.12, 166.9.54.13, 166.9.54.21, 166.9.54.32, 166.9.54.33, 166.9.56.10, 166.9.56.11, 166.9.56.16, 166.9.56.24, 166.9.56.36, 166.9.244.107, 166.9.244.137, 166.9.244.171
欧盟中心 (ams03mil01par01fra02fra04fra05) 166.9.28.107, 166.9.28.17, 166.9.28.19, 166.9.28.20, 166.9.28.203, 166.9.28.22, 166.9.28.23, 166.9.28.235, 166.9.28.24, 166.9.28.240, 166.9.28.43, 166.9.28.64, 166.9.28.84, 166.9.28.87, 166.9.28.91, 166.9.28.94, 166.9.28.95, 166.9.30.100, 166.9.30.11, 166.9.30.116, 166.9.30.12, 166.9.30.13, 166.9.30.22, 166.9.30.41, 166.9.30.54, 166.9.30.56, 166.9.30.9, 166.9.30.92, 166.9.32.101, 166.9.32.185, 166.9.32.20, 166.9.32.26, 166.9.32.27, 166.9.32.44, 166.9.32.54, 166.9.32.56, 166.9.32.84, 166.9.32.88, 166.9.32.9, 166.9.248.77, 166.9.248.106, 166.9.248.137
马德里 (mad02mad04mad05) 166.9.94.6, 166.9.95.6, 166.9.96.6, 166.9.94.7, 166.9.95.7, 166.9.96.7
大坂 (osa21osa22osa23) 166.9.70.6, 166.9.70.8, 166.9.71.8, 166.9.71.10, 166.9.72.9, 166.9.72.10, 166.9.247.41, 166.9.247.75, 166.9.247.107
英国南部 (lon02lon04lon05lon06) 166.9.34.17, 166.9.34.41, 166.9.34.45, 166.9.34.5, 166.9.34.50, 166.9.34.6, 166.9.34.77, 166.9.36.10, 166.9.36.11, 166.9.36.12, 166.9.36.13, 166.9.36.23, 166.9.36.30, 166.9.36.53, 166.9.36.65, 166.9.36.95, 166.9.38.18, 166.9.38.28, 166.9.38.46, 166.9.38.54, 166.9.38.6, 166.9.38.7, 166.9.38.75, 166.9.244.12, 166.9.244.48, 166.9.244.75
美国东部 (mon01tor01wdc04wdc06wdc07) 166.9.20.11, 166.9.20.117, 166.9.20.12, 166.9.20.13, 166.9.20.187, 166.9.20.38, 166.9.20.42, 166.9.20.63, 166.9.20.80, 166.9.22.10, 166.9.22.109, 166.9.22.211, 166.9.22.215, 166.9.22.26, 166.9.22.43, 166.9.22.51, 166.9.22.52, 166.9.22.8, 166.9.22.9, 166.9.24.19, 166.9.24.196, 166.9.24.198, 166.9.24.22, 166.9.24.35, 166.9.24.4, 166.9.24.45, 166.9.24.47, 166.9.24.5, 166.9.24.90, 166.9.68.130, 166.9.68.134, 166.9.68.34, 166.9.68.47, 166.9.231.217, 166.9.232.15, 166.9.251.118
美国南部 (sao01sjc03sjc04dal10dal12dal13) 166.9.12.140, 166.9.12.141, 166.9.12.142, 166.9.12.143, 166.9.12.144, 166.9.12.151, 166.9.12.193, 166.9.12.196, 166.9.12.26, 166.9.12.99, 166.9.13.31, 166.9.13.93, 166.9.13.94, 166.9.14.122, 166.9.14.125, 166.9.14.202, 166.9.14.204, 166.9.14.205, 166.9.14.95, 166.9.15.130, 166.9.15.69, 166.9.15.70, 166.9.15.71, 166.9.15.72, 166.9.15.73, 166.9.15.74, 166.9.15.75, 166.9.15.76, 166.9.16.113, 166.9.16.137, 166.9.16.149, 166.9.16.183, 166.9.16.184, 166.9.16.185, 166.9.16.38, 166.9.16.39, 166.9.16.5, 166.9.17.2, 166.9.17.35, 166.9.17.37, 166.9.17.39, 166.9.48.124, 166.9.48.171, 166.9.48.175, 166.9.48.240, 166.9.48.35, 166.9.48.50, 166.9.48.76, 166.9.51.104, 166.9.51.106, 166.9.51.16, 166.9.51.54, 166.9.51.74, 166.9.58.104, 166.9.58.11, 166.9.58.16, 166.9.58.170, 166.9.58.210, 166.9.58.64, 166.9.58.65, 166.9.59.125, 166.9.59.147, 166.9.61.15, 166.9.61.54, 166.9.85.114, 166.9.88.186, 166.9.88.196, 166.9.88.21, 166.9.228.8, 166.9.229.10, 166.9.230.9

打开端口

在允许列表中打开以下端口,以使工作程序节点正常工作。 以下端口需要打开所有目标 IP。

  • 允许从工作程序到端口 80 和 443 的出站 TCP 和 UDP 连接,从而允许工作程序节点更新和重新装入。
  • 允许到端口 2049 的出站 TCP 和 UDP,从而允许作为卷安装文件存储器。
  • 允许到端口 3260 的出站 TCP 和 UDP,以便与块存储器进行通信。
  • 针对 Kubernetes 仪表板和命令,允许到端口 10250 的入站 TCP 和 UDP 连接,例如,kubectl logskubectl exec
  • 允许到 TCP 和 UDP 端口 53 的入站和出站连接以用于 DNS 访问。

启用工作程序到工作程序通信

通过允许专用接口上的工作程序节点之间的所有 TCP,UDP,VRRP 和 IPEncap 流量来启用工作程序到工作程序的通信,还允许公共接口上的 VRRP。IBM Cloud Kubernetes Service 使用 VRRP 协议来管理负载均衡器和 IPEncap 协议的 IP 地址,以允许 pod 跨子网进行 pod 流量。

允许工作程序节点与 IBM Cloud Container Registry 通信

要允许工作者节点与 IBM Cloud Container Registry 通信,请允许工作者节点向 IBM Cloud Container Registry 区域 发送网络流量。

  • TCP port 443 FROM <each_worker_node_privateIP> TO <registry_ip>
  • <registry_ip> 替换为要允许流量的注册表 IP 地址。 全局注册表存储 IBM 提供的公共映像,区域注册表存储您自己的专用或公共映像。

在 2022 年 6 月 23 日,只有 br-saoca-tor 区域已更改。 其余区域在 2022 年 7 月 5 更改。 有关更多信息,请参阅 Container Registry 专用 IP 地址在 5 2022 年 7 月 更改。

要为注册表流量打开的 IP 地址
IBM Cloud Kubernetes Service 区域 注册表地址 注册表专用 IP 地址,直到 5 2022 年 7 月 5 2022 年 7 月之后的注册表专用 IP 地址
跨 IBM Cloud Kubernetes Service 区域的全局注册表 private.icr.io cp.icr.io 166.9.20.31, 166.9.22.22, 166.9.24.16 166.9.251.49, 166.9.251.82, 166.9.251.113
亚太地区北部 private.jp.icr.io 166.9.40.20, 166.9.42.21, 166.9.44.12 166.9.249.104, 166.9.249.157, 166.9.249.168
亚太地区南部 private.au.icr.io 166.9.52.20, 166.9.54.19, 166.9.56.13 166.9.244.106, 166.9.244.136, 166.9.244.170
欧洲中部 private.de.icr.io 166.9.28.35, 166.9.30.2, 166.9.32.2 166.9.248.76, 166.9.248.105, 166.9.248.136
马德里自治区 private.es.icr.io 不适用 166.9.248.76, 166.9.248.105, 166.9.248.136
大板 private.jp2.icr.io 166.9.70.4, 166.9.71.5, 166.9.72.6 166.9.247.39, 166.9.247.73, 166.9.247.105
圣保罗 private.br.icr.io 166.9.82.13, 166.9.83.13, 166.9.84.13 166.9.246.72, 166.9.246.104, 166.9.246.130
多伦多 private.ca.icr.io 166.9.76.12, 166.9.77.11, 166.9.78.11 166.9.247.143, 166.9.247.170, 166.9.247.207
英国南部 private.uk.icr.io 166.9.36.19, 166.9.38.14, 166.9.34.12 166.9.244.9, 166.9.244.45, 166.9.244.73
美国东部和美国南部 private.us.icr.io 166.9.12.227, 166.9.15.116, 166.9.16.244 166.9.250.214, 166.9.250.246, 166.9.251.21

创建持久卷声明

要在其中工作程序节点仅连接到专用 VLAN 的集群中创建持久卷声明,请确保集群设置为使用以下 Kubernetes 版本或 IBM Cloud 存储插件版本。 这些版本支持从集群到持久性存储器实例的专用网络通信。

私有集群所需的Kubernetes或IBM Cloud存储插件版本概览
存储器类型 必需版本
文件存储器 Kubernetes 版本,,,,或更高版本 1.13.4_1512 1.12.6_1544 1.11.8_1550 1.10.13_1551
块存储器 IBM Cloud Block Storage V1.3.0 或更高版本插件
对象存储器 IBM Cloud Object Storage 插件版本 1.0.3 或更高版本,IBM Cloud Object Storage 服务通过 HMAC 认证设置

如果您必须使用不支持通过专用网络进行网络通信的 Kubernetes 版本或 IBM Cloud 存储插件版本,或者如果您想在没有 HMAC 身份验证的情况下使用 IBM Cloud Object Storage,请通过您的允许列表允许出口访问 IBM Cloud 基础架构和 IBM Cloud Identity and Access Management:

  • 允许 TCP 端口 443 上的所有流出网络流量。
  • 允许访问前端(公用)网络后端(专用)网络中集群所在的专区的 IBM Cloud 基础架构 IP 范围。 要查找集群的专区,请运行 ibmcloud ks cluster ls

可选:为 IBM Cloud Logs 和 IBM Cloud Monitoring 服务设置允许列表规则

要发送日志和度量数据,请为 IBM Cloud Logs 和 IBM Cloud Monitoring 服务设置 allowlist 规则。

在公共或专用允许列表中打开入站流量的端口

您可以允许入站访问 NodePort、LoadBalancer 和 Ingress 服务。

NodePort 服务
将部署服务时配置的端口开放到所有工作节点的公共或私有 IP 地址上,以允许流量进入。 要查找该端口,请运行 kubectl get svc。 端口在 20000-32000 范围内。
LoadBalancer 服务
打开将服务部署到 LoadBalancer 服务的公共或专用 IP 地址时所配置的端口。
Ingress
将 HTTP 的 80 端口和 HTTPS 的 443 端口开放到 Ingress 应用程序负载平衡器的公共或专用 IP 地址。
路由
将 HTTP 的 80 端口和 HTTPS 的 443 端口开放到路由器的公共 IP 地址。

允许集群通过 Calico 网络策略访问资源

您可以选择使用 Calico 网络策略 作为公共或专用网络上的群集允许列表,而不是设置网关允许列表设备。 有关更多信息,请参阅以下主题。

在其他服务的允许列表或本地允许列表中允许来自集群的流量

如果您想访问在 IBM Cloud 内部或外部运行的服务,或者访问受允许列表保护的服务,您可以在允许列表中添加工作节点的 IP 地址,以允许向群集的出站网络流量。 例如,您可能希望从 IBM Cloud 数据库读取受允许列表保护的数据,或者在内部允许列表中指定您的工作节点子网,以允许来自群集的网络流量。

  1. 登录您的账户。 如果适用,请将相应的资源组设定为目标。 设置集群的上下文。

  2. 获取工作程序节点子网或工作程序节点 IP 地址。

    • 工作节点子网:如果您预计会频繁更改群集中的工作节点数量,例如启用 群集自动分压器,您可能不希望为每个新的工作节点更新允许列表。 相反,您可以添加群集使用的 VLAN 子网。 请记住,VLAN 子网可能由其他集群中的工作程序节点共享。 请注意,IBM Cloud Kubernetes Service 为群集提供的主公用子网有 14 个可用 IP 地址,可由同一 VLAN 上的其他群集共享。 当工作节点超过 14 个时,会订购另一个子网,因此需要允许的子网可能会发生变化。 为了减少更改频率,请创建具有较高 CPU 和内存资源的工作程序节点类型模板的工作程序池,这样就不需要经常添加工作程序节点。

      1. 列出集群中的工作程序节点。

        ibmcloud ks worker ls --cluster <cluster_name_or_ID>
        
      2. 从上一步的输出中,记下集群中工作程序节点的 Public IP 的所有唯一网络标识(前 3 个八位元)。 如果要允许来自专用群集的流量,请记下专用 IP。 在以下输出中,唯一网络标识为 169.xx.178169.xx.210

        ID                                                  Public IP        Private IP     Machine Type        State    Status   Zone    Version   
        kube-dal10-crb2f60e9735254ac8b20b9c1e38b649a5-w31   169.xx.178.101   10.xxx.xx.xxx   b3c.4x16.encrypted   normal   Ready    dal10   1.32   
        kube-dal10-crb2f60e9735254ac8b20b9c1e38b649a5-w34   169.xx.178.102   10.xxx.xx.xxx   b3c.4x16.encrypted   normal   Ready    dal10   1.32  
        kube-dal12-crb2f60e9735254ac8b20b9c1e38b649a5-w32   169.xx.210.101   10.xxx.xx.xxx   b3c.4x16.encrypted   normal   Ready    dal12   1.32   
        kube-dal12-crb2f60e9735254ac8b20b9c1e38b649a5-w33   169.xx.210.102   10.xxx.xx.xxx   b3c.4x16.encrypted   normal   Ready    dal12   1.32  
        
      3. 列出每个唯一网络标识的 VLAN 子网。

        ibmcloud sl subnet list | grep -e <networkID1> -e <networkID2>
        

        示例输出

        ID        identifier       type                 network_space   datacenter   vlan_id   IPs   hardware   virtual_servers
        1234567   169.xx.210.xxx   ADDITIONAL_PRIMARY   PUBLIC          dal12        1122334   16    0          5   
        7654321   169.xx.178.xxx   ADDITIONAL_PRIMARY   PUBLIC          dal10        4332211   16    0          6    
        
      4. 检索子网地址。 在输出中,找到 IPs 的数量。 然后,使 2n 次幂等于 IP 数。 例如,如果 IP 数为 16,那么 24 (n) 次幂等于 16。 现在,从 n 位中减去值 32 可得到子网 CIDR。 例如,n 等于 4 时,CIDR 为 28(公式为 32 - 4 = 28)。 将 identifier 掩码与 CIDR 值组合在一起,即可获得完整的子网地址。 在先前的输出中,子网地址为:

        • 169.xx.210.xxx/28
        • 169.xx.178.xxx/28
    • 单个工作节点 IP 地址:如果有少量工作节点只运行一个应用程序且不需要扩展,或者只想添加一个工作节点,请列出集群中的所有工作节点并注明公共 IP 地址。 如果您的工人节点只连接到私有网络,并且您想通过使用私有云服务端点连接到 IBM Cloud 服务,请注意私有 IP 地址。 只添加这些工作节点。 如果删除工作节点或向群集添加工作节点,则必须相应更新允许列表。

      ibmcloud ks worker ls --cluster <cluster_name_or_ID>
      
  3. 将子网 CIDR 或 IP 地址添加到服务的出站流量允许列表或内部部署的入站流量允许列表中。

  4. 对要允许流量进出的每个集群重复这些步骤。

更新 Kubernetes Service 网络区域的 IAM 允许列表

缺省情况下,所有 IP 地址都可用于登录到 IBM Cloud 控制台,并执行操作来管理集群,例如创建,更新,删除或查看凭证。 在 IBM Cloud Identity and Access Management (IAM) 控制台中,可以 创建允许列表,指定哪些 IP 地址可以访问,其他所有 IP 地址都受到限制。

在 allowlist 中,您还必须为群集所在区域配置 IBM Cloud Kubernetes Service 控制平面中的网络区域,以便 IBM Cloud Kubernetes Service 可以创建或访问 Ingress ALB 等组件

在开始之前,以下步骤要求您更改用户的 IAM 允许列表,该用户的凭据用于群集的区域和资源组基础结构权限。 如果您是凭证所有者,则可以更改自己的 IAM 允许列表设置。 如果您不是凭证所有者,但为 用户管理服务 分配了编辑器管理员 IBM Cloud IAM 平台访问角色,则可以更新凭证所有者的网络。

  1. 确定用于集群的区域和资源组基础架构许可权的用户凭证。

    1. 检查集群的区域和资源组的 API 密钥。

      ibmcloud ks api-key info --cluster <cluster_name_or_ID>
      

      示例输出

      Getting information about the API key owner for cluster <cluster_name>...
      OK
      Name                Email   
      <user_name>         <name@email.com>
      
    2. 检查区域和资源组的基础架构帐户是否已手动设置为使用其他 IBM Cloud 基础架构帐户。

      ibmcloud ks credential get --region <us-south>
      

      凭证设置为使用其他帐户时的输出示例。 在这种情况下,用户的基础架构凭证将用于目标区域和资源组,即使在上一步中检索到的 API 密钥中存储了其他用户的凭证也是如此。

      OK
      Infrastructure credentials for user name <1234567_name@email.com> set for resource group <resource_group_name>.
      

      凭证未设置为使用其他帐户时的输出示例。 在这种情况下,在上一步中检索到的 API 密钥所有者具有用于区域和资源组的基础架构凭证。

      FAILED
      No credentials set for resource group <resource_group_name>.: The user credentials could not be found. (E0051)
      
  2. 登录到 IBM Cloud 控制台

  3. 创建网络区域,其中包括所有区域或仅有群集的区域的 Kubernetes Service IP。

    1. 在群集所在的账户中,从菜单栏单击 Manage > 基于上下文的限制

    2. 单击 Network zones > 创建

    3. Name 中,为网络区域输入一个描述性名称,如 us-south-kubernetes-service-network-zone

    4. 不要为 Allowed IP addressesAllowed VPCs 部分输入任何值。

    5. 引用服务部分,选择 Kubernetes Service,然后单击 +

    6. 对于 位置,您可以将该字段留空,以便使用所有位置(适用于其他区域的群集),也可以指定单个区域。

    7. 单击“下一步”并查看选择。

    8. 单击创建

    9. 对其他区重复此操作。

  4. 将网络区域名称添加到 IAM 允许列表中。

    1. 从菜单栏中,单击管理 > 访问 (IAM),然后选择设置

    2. “限制IP地址访问”下,选择 “启用”,并提供上一步骤中获取的网络区域名称。

    3. 单击应用

获取 Kubernetes Service 子网 IP 地址

执行以下步骤以获取要添加到 IAM 允许列表的正确子网 IP 地址。

在控制台中获取子网 IP 地址

  1. 从 IBM Cloud 控制台 资源列表中,点击您的集群。
  2. 单击工人节点
  3. 请注意集群中的工作程序节点所使用的每个 公用 VLAN。 多个工作程序节点可能使用相同的公用 VLAN。
  4. IBM Cloud 控制台菜单中点击菜单图标,点击基础设施 > 经典基础设施 > IP管理 > VLAN
  5. 单击每个公共 VLAN,检查集群中的工作节点是否正在使用它。
  6. 对于集群中的工作程序节点所使用的每个公用 VLAN,请找到 子网 部分,并记下表中包含的每个 IP 地址。 这些是必须包含在允许列表中的 IP 地址。

在 CLI 中获取子网 IP 地址

  1. 列出工作程序节点使用的公用 VLAN。 输出的格式为 publicVLAN=<vlan_id>

    kubectl describe nodes | grep publicVLAN | sort | uniq
    
  2. 对于每个公用 VLAN,查找关联的公用子网。 在输出中,记下 identifier 列中的子网 IP 地址。

    ibmcloud sl subnet list | grep <vlan-id>
    

    与标识为 2761690 的公用 VLAN 关联的子网的输出示例。

    ID        identifier        type                 network_space   datacenter   vlan_id   IPs   hardware   virtual_servers  
    1962263   169.62.46.56      SECONDARY_ON_VLAN    PUBLIC          wdc07        2761690   8     0          0   
    2008207   169.62.39.248     SECONDARY_ON_VLAN    PUBLIC          wdc07        2761690   8     0          0   
    2342562   169.62.2.128      ADDITIONAL_PRIMARY   PUBLIC          wdc07        2761690   16    0          5
    
  3. 列出工作程序节点并获取其公共 IP。 在输出中,公共 IP 列示在 External-IP 列中。 请注意,这些 IP 地址中的哪些包含在先前列示的子网中,并记下这些子网标识。

  4. 对于每个子网标识,运行命令以获取子网详细信息。 在每个输出中,记下 identifier 列中的 IP 地址。 这是必须添加到 IAM 允许列表的 IP 地址。

    ibmcloud sl subnet detail <subnet_id>
    

    示例输出

    Name             Value   
    ID               2342562   
    identifier       169.62.2.128/28   
    subnet type      ADDITIONAL_PRIMARY   
    network space    PUBLIC   
    gateway          169.62.2.129   
    broadcast        169.62.2.143   
    datacenter       wdc07   
    usable ips       13   
    IP address       ID          IP address      
                    186531376   169.62.2.128      
                    186531378   169.62.2.129      
                    186531380   169.62.2.130      
                    186531382   169.62.2.131      
                    186531384   169.62.2.132      
                    186531386   169.62.2.133      
                    186531388   169.62.2.134      
                    186531390   169.62.2.135      
                    186531392   169.62.2.136      
                    186531394   169.62.2.137      
                    186531396   169.62.2.138      
                    186531398   169.62.2.139      
                    186531400   169.62.2.140      
                    186531402   169.62.2.141      
                    186531404   169.62.2.142      
                    186531406   169.62.2.143      
    
    virtual guests   hostname                                                 domain    public_ip      private_ip      
                    kube-c8ofi5pw077drsbovf90-roks47class-default-00000187   iks.ibm   169.62.2.130   10.191.55.109      
                    kube-c8ofi5pw077drsbovf90-roks47class-default-000002a2   iks.ibm   169.62.2.133   10.191.55.108      
                    kube-c8ofi5pw077drsbovf90-roks47class-default-00000372   iks.ibm   169.62.2.135   10.191.55.121      
                    kube-c8ofh6kw0jj8l6jovf8g-iks22classi-default-00000219   iks.ibm   169.62.2.132   10.191.55.105      
                    kube-c8ofh6kw0jj8l6jovf8g-iks22classi-default-0000012f   iks.ibm   169.62.2.134   10.191.55.107