在白名单中开放所需的端口和 IP 地址
经典簇
此白名单信息仅适用于经典集群。 有关 VPC 集群,请参阅《 在 VPC 集群的允许列表中开放必需的端口和 IP 地址 》。
请查看以下情况,了解在何种情况下您可能需要在 IBM Cloud® Kubernetes Service 集群的允许列表中开放特定的端口和IP地址。
- 企业白名单:如果企业网络策略通过代理或白名单阻止了您的本地系统访问公共端点,则必须允许从您的本地系统运行以下命令:
ibmcloud、ibmcloud ks、ibmcloud cr、kubectl以及calicoctl。 - 网关设备白名单:如果您在 IBM Cloud 基础设施账户(例如VRA)的公共网络或私有网络上设置了白名单,则必须开放相应的IP范围、端口和协议,以便工作节点能够与主节点、基础设施资源以及其他 IBM Cloud 服务进行通信。 此外,还可以打开端口以允许入局流量流至公开集群中应用程序的服务。
- Calico 网络策略:如果您使用 Calico 网络策略作为白名单来限制所有工作节点的出站流量,则必须允许工作节点访问集群正常运行所需的资源。
- 其他服务或网络白名单:若要允许您的集群访问在 IBM Cloud 内部或外部、或本地网络中运行且受白名单保护的服务,您必须将工作节点的 IP 地址添加到该白名单中。
在企业白名单中开放端口
如果企业网络策略通过代理或白名单阻止了您的本地系统访问公共端点,您必须允许从本地系统访问 ibmcloud, ibmcloud ks 以及 ibmcloud cr 命令、kubectl 命令 和 calicoctl 命令。
在白名单环境下运行 ibmcloud、ibmcloud ks 和 ibmcloud cr 命令
如果企业网络策略通过代理或白名单阻止了您的本地系统访问公共端点,则要运行 ibmcloud、ibmcloud ks 和 ibmcloud cr 命令,您必须允许 TCP 访问 IBM Cloud、IBM Cloud Kubernetes Service 和 IBM Cloud Container Registry。
-
请在您的白名单中允许访问
cloud.ibm.com的 443 端口。 -
通过此 API 端点登录到 IBM Cloud 来验证连接。
ibmcloud login -a https://cloud.ibm.com/ -
请在您的白名单中允许访问
containers.cloud.ibm.com的 443 端口。 -
验证连接。 如果访问配置正确,输出中将显示各区域。
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."}] -
允许访问您计划在允许列表中的端口 443 上使用的 IBM Cloud Container Registry 区域。 全局注册表存储 IBM 提供的公共映像,区域注册表存储您自己的专用或公共映像。
-
通过 列出容器注册表名称空间来验证连接。
从允许列表后面运行 kubectl 命令
如果企业网络策略通过代理或白名单阻止了您的本地系统访问公共端点,则要运行 kubectl 命令,您必须允许该集群访问 TCP。
创建集群时,服务端点 URL 中的端口号会在 30000-32767 范围内随机分配。 您可以选择为可能创建的任何集群开放 30000-32767 端口范围,也可以选择允许对某个特定的现有集群进行访问。
开始之前,允许访问以运行 ibmcloud ks 命令。
要允许访问特定集群:
-
登录到 IBM Cloud CLI。 根据提示,输入您的 IBM Cloud 凭证。 如果您有联合帐户,请包括
--sso选项。ibmcloud login [--sso] -
如果集群位于非
default资源组中,请将该资源组设定为目标。 要查看每个集群所属的资源组,请运行ibmcloud ks cluster ls。 注:对于该资源组,您必须至少具有查看者角色。ibmcloud target -g <resource_group_name> -
获取集群的名称。
ibmcloud ks cluster ls -
检索集群的服务端点 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 ... -
允许访问在上一步中获得的服务端点 URL 和端口。 如果您的白名单是基于 IP 的,您可以通过查看 此表格,了解在允许访问服务端点 URL 时,哪些 IP 地址已被放行。
-
验证连接。
- 如果已启用公有云服务端点:
curl --insecure <public_service_endpoint_URL>/version ``` 示例命令: ```sh {: pre} curl --insecure https://c3.<region>.containers.cloud.ibm.com:31142/version ``` 示例输出 ```sh {: screen} { "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连接连接到该私有网络,才能验证与主服务器的连接。 **注**:您必须[通过专用负载均衡器公开主节点端点](/docs/containers?topic=containers-access-private-classic),以便用户可以通过 VPN 或 IBM Cloud® Direct Link 连接访问主节点。 ```sh {: pre} curl --insecure <private_service_endpoint_URL>/version ``` 示例命令: ```sh {: pre} curl --insecure https://c3-private.<region>.containers.cloud.ibm.com:31142/version ``` 示例输出 ```sh {: screen} { "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" } ``` -
可选:对您需要显示的每个集群重复上述步骤。
从允许列表后面运行 calicoctl 命令
如果企业网络策略通过代理或白名单阻止了您的本地系统访问公共端点,那么要运行 calicoctl 命令,您必须允许 TCP 访问,以便执行 Calico 命令。
开始之前,允许访问以运行 ibmcloud 命令和 kubectl 命令。
-
从用于允许
kubectl命令的主 URL 中检索 IP 地址。 -
获取 etcd 的端口。
kubectl get cm -n kube-system cluster-info -o yaml | grep etcd_host -
允许通过主 URL IP 地址和 etcd 端口访问 Calico 策略。
在网关设备的允许列表中开放端口
如果您在 IBM Cloud 基础设施账户的 公共网络或 私有网络上 设置了白名单(例如 Virtual Router Appliance (Vyatta)),则必须开放相应的IP地址范围、端口和协议,以便工作节点能够与主节点、基础设施资源以及其他 IBM Cloud 服务进行通信。
在公共允许列表中打开所需端口
如果您在 IBM Cloud 基础设施账户的公共网络上设置了白名单(例如 Virtual Router Appliance (Vyatta)),则必须在白名单中开放相应的IP范围、端口和协议,以便工作节点能够与主节点、基础设施资源以及其他 IBM Cloud 服务进行通信。
需在 2026 年 7 月 31 日之前采取行动:origin.<region>.containers.cloud.ibm.com 端点即将停用。 如果您拥有已启用公共服务端点的经典集群,并通过白名单或防火墙限制出站访问,或者您有直接调用这些源端点的自定义脚本,则必须在 2026 年 7 月 31 日之前更新配置,以避免服务中断。 如需了解更多信息,请参阅 《 从源端点迁移到受支持的端点 》。
从源端点迁移到受支持的端点
经典簇
如果您符合以下任一情况,必须采取行动:
- 您拥有一个或多个已启用公共服务端点的经典集群,并且通过白名单或防火墙限制了出站访问。
- 您拥有直接调用
origin.<region>.containers.cloud.ibm.com端点的自定义脚本或工具。
如果上述两种情况都不适用,则无需采取任何行动。
为确保您的工作节点能够继续连接到 IBM Cloud Kubernetes Service,请在 2026 年 7 月 31 日之前完成以下步骤。
-
如果您使用基于 IP 的防火墙规则:请确保 “允许工作节点与集群主节点通信”一节中记录的 IP 地址已包含在您的防火墙规则中。
-
如果您使用基于域的防火墙规则:请将以下引导域添加到您的允许列表中。
| 区域 | Bootstrap 域名 |
|---|---|
欧盟中部(fra02、fra04、fra05 ) |
bootstrap.eu-de.containers.cloud.ibm.com |
英国南部 (lon02,lon04,lon05,lon06) |
bootstrap.eu-gb.containers.cloud.ibm.com |
马德里 (mad02,mad04,mad05) |
bootstrap.eu-es.containers.cloud.ibm.com |
大坂 (osa21,osa22,osa23) |
bootstrap.jp-osa.containers.cloud.ibm.com |
圣保罗 (sao01,sao04,sao05) |
bootstrap.br-sao.containers.cloud.ibm.com |
AP 南部 (syd01,syd04,syd05) |
bootstrap.au-syd.containers.cloud.ibm.com |
AP North(tok02、tok04、tok05 ) |
bootstrap.jp-tok.containers.cloud.ibm.com |
多伦多 (tor01,tor04 和 tor05) |
bootstrap.ca-tor.containers.cloud.ibm.com |
美国南部(dal10、dal12、dal13 ) |
bootstrap.us-south.containers.cloud.ibm.com |
美国东部(wdc04、wdc06、wdc07 ) |
bootstrap.us-east.containers.cloud.ibm.com |
- 如果您有直接调用源端点的自定义脚本: 切换到受支持的 API 端点。 如需了解更多信息,请参阅 “关于 API”。
开始之前,请记录集群中每个工作节点的公共 IP 地址。
ibmcloud ks worker ls --cluster <cluster_name_or_ID>
允许工作程序节点与集群主节点通信
为了允许工作节点通过公有云服务端点与集群主节点进行通信,请允许从源地址 <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 地址 |
|---|---|
AP北区(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 南部 (syd01,syd04,syd05) |
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 |
欧盟中心(ams03, par01, fra02, fra04, fra05) |
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.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, 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 |
马德里 (mad02,mad04,mad05) |
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 |
大坂 (osa21,osa22,osa23) |
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 |
圣保罗 (sao01,sao04,sao05) |
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 |
多伦多 (tor01,tor04 和 tor05) |
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 |
英国南部 (lon02,lon04,lon05,lon06) |
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 |
美国东部 (mon01,wdc04,wdc06,wdc07) |
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 |
美国南部 (sjc03,sjc04,dal10,dal12,dal13) |
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)。 您的白名单必须为第7层,才能允许该IAM域名。 IAM 没有您可以允许访问的特定 IP 地址。 如果您的白名单不支持第7层,您可以允许所有通过443端口传输的 HTTPS 网络流量。
TCP port 443 FROM <each_worker_node_publicIP> TO https://iam.bluemix.netTCP 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>
可选:允许传入网络流量用于入口子域监控
如果要使用 Ingress 域健康监控 来监控服务端点的健康状况,必须允许监控服务的入站访问。
默认情况下,监控健康请求通过 HTTPS 发送到端口 443,因此必须允许将来自以下 IP 范围的流量发送到端口 443。 如果健康监控器配置为使用 HTTP,则 allowlist 流量必须指向 80 端口。 此外,如果您使用自定义 TCP 端口,请确保允许传入流量到该端口。
更多信息,请参阅 IBM NS1 Connect 有关监控的文档。
IBM NS1 Connect 监控 IP 范围
163.114.225.0/24163.114.230.0/24163.114.231.0/24
后续步骤
如果使用负载均衡器服务,请确保在公共接口和专用接口上的工作程序节点之间允许使用 VRRP 协议的所有流量。IBM Cloud Kubernetes Service 使用 VRRP 协议来管理公共和专用负载均衡器的 IP 地址。
在私有白名单中打开所需端口
如果您在 IBM Cloud 基础设施账户的私有网络中设置了白名单(例如 Virtual Router Appliance (Vyatta)),则必须在白名单中开放相应的IP范围、端口和协议,以便工作节点能够与主节点、彼此之间、基础设施资源以及其他 IBM Cloud 服务进行通信。
准备工作
-
允许 IBM Cloud 基础架构专用 IP 范围,从而可在集群中创建工作程序节点。
- 允许相应的 IBM Cloud 基础架构专用 IP 范围。 请参阅后端(专用)网络。
- 为 IBM Cloud 基础设施中您正在使用的所有 区域 分配私有IP地址范围。 注意:您必须添加
166.8.0.0/14和161.26.0.0/16IP 范围、dal10和wdc04区域的 IP 范围。 请参阅服务网络(在后端/专用网络上)。
-
记下集群中每个工作程序节点的专用 IP 地址。
ibmcloud ks worker ls --cluster <cluster_name_or_ID>
允许工作程序节点与集群主节点通信
为了允许工作节点通过私有云服务端点与集群主节点通信,请允许从源地址 <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 地址 |
|---|---|
AP北区(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 南部 (syd01,syd04,syd05) |
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 |
欧盟中心(ams03, par01, fra02, fra04, fra05) |
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 |
马德里 (mad02,mad04,mad05) |
166.9.94.6, 166.9.95.6, 166.9.96.6, 166.9.94.7, 166.9.95.7, 166.9.96.7 |
大坂 (osa21,osa22,osa23) |
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 |
英国南部 (lon02,lon04,lon05,lon06) |
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 |
美国东部 (mon01,tor01,wdc04,wdc06,wdc07) |
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 |
美国南部 (sao01,sjc03,sjc04,dal10,dal12,dal13) |
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 logs和kubectl exec。 - 允许到 TCP 和 UDP 端口 53 的入站和出站连接以用于 DNS 访问。
启用工作程序到工作程序通信
TCP UDP IBM Cloud Kubernetes Service 使用 VRRP 协议管理负载平衡器的 IP 地址,并使用 IPEncap 协议允许跨子网的 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 提供的公共映像,区域注册表存储您自己的专用或公共映像。
| 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 版本 1.13.4_1512、1.12.6_1544、1.11.8_1550、1.10.13_1551 或更高版本 |
| Block Storage | 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 的出站访问:
可选:为 IBM Cloud Logs 和 IBM Cloud Monitoring 服务设置允许列表规则
要发送日志和指标数据,请为您的 IBM Cloud Logs 和 IBM Cloud Monitoring 服务设置白名单规则。
在公共或专用允许列表中打开入站流量的端口
您可以允许入站访问 NodePort、LoadBalancer 和 Ingress 服务。
- NodePort 服务
- 打开您在将服务部署到公共或私有 IP 地址时所配置的端口,以便所有工作节点能够接收流量。 要查找该端口,请运行
kubectl get svc。 端口在 20000-32000 范围内。 - LoadBalancer 服务
- 打开将服务部署到 LoadBalancer 服务的公共或专用 IP 地址时所配置的端口。
- Ingress
- 为 Ingress 应用程序负载均衡器的公共或私有 IP 地址,开放 HTTP 的 80 端口和 HTTPS 的 443 端口。
- 路由
- 将路由器的公共IP地址设置为允许访问 HTTP 的80端口,以及 HTTPS 的443端口。
允许集群通过 Calico 网络策略访问资源
您无需配置网关白名单设备,而是可以选择使用 Calico 网络策略,将其作为公共网络或私有网络上的集群白名单。 有关更多信息,请参阅以下主题。
在其他服务的允许列表或本地允许列表中允许来自集群的流量
如果您需要访问在 IBM Cloud 内部或外部、或本地环境中运行且受白名单保护的服务,可以在该白名单中添加您的工作节点 IP 地址,以允许发往您集群的出站网络流量。 例如,您可能需要从受白名单保护的 IBM Cloud 数据库中读取数据,或者在本地白名单中指定工作节点子网,以允许来自您集群的网络流量。
-
获取工作程序节点子网或工作程序节点 IP 地址。
-
工作节点子网:如果您预计会频繁更改集群中工作节点的数量(例如,启用了 集群自动缩放 功能),则可能不需要为每个新增的工作节点更新白名单。 相反,您可以添加集群所使用的 VLAN 子网。 请记住,VLAN 子网可能由其他集群中的工作程序节点共享。 请注意,IBM Cloud Kubernetes Service 为您的集群分配的主公共子网包含 14 个可用 IP 地址,且可与同一 VLAN 上的其他集群共享。 当您拥有超过 14 个工作节点时,系统会自动分配另一个子网,因此您需要放行的子网可能会发生变化。 为了减少更改频率,请创建具有较高 CPU 和内存资源的工作程序节点类型模板的工作程序池,这样就不需要经常添加工作程序节点。
-
列出集群中的工作程序节点。
ibmcloud ks worker ls --cluster <cluster_name_or_ID> -
从上一步的输出中,记下集群中工作程序节点的 Public IP 的所有唯一网络标识(前 3 个八位元)。 如果您希望允许来自仅限私有集群的流量,请记录该私有 IP 地址。 在以下输出中,唯一网络标识为
169.xx.178和169.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.35 kube-dal10-crb2f60e9735254ac8b20b9c1e38b649a5-w34 169.xx.178.102 10.xxx.xx.xxx b3c.4x16.encrypted normal Ready dal10 1.35 kube-dal12-crb2f60e9735254ac8b20b9c1e38b649a5-w32 169.xx.210.101 10.xxx.xx.xxx b3c.4x16.encrypted normal Ready dal12 1.35 kube-dal12-crb2f60e9735254ac8b20b9c1e38b649a5-w33 169.xx.210.102 10.xxx.xx.xxx b3c.4x16.encrypted normal Ready dal12 1.35 -
列出每个唯一网络标识的 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 -
检索子网地址。 在输出中,找到 IPs 的数量。 然后,使
2的n次幂等于 IP 数。 例如,如果 IP 数为16,那么2的4(n) 次幂等于16。 现在,从n位中减去值32可得到子网 CIDR。 例如,n等于4时,CIDR 为28(公式为32 - 4 = 28)。 将 identifier 掩码与 CIDR 值组合在一起,即可获得完整的子网地址。 在先前的输出中,子网地址为:169.xx.210.xxx/28169.xx.178.xxx/28
-
-
各个工作节点的 IP 地址:如果您只有少量工作节点,且这些节点仅运行一个应用程序且无需进行扩展,或者您只想添加一个工作节点,请列出集群中的所有工作节点并记录其公共 IP 地址。 如果您的工作节点仅连接到私有网络,且您希望通过私有云服务端点连接到 IBM Cloud 服务,请记下相应的私有 IP 地址。 仅添加了这些工作节点。 如果您从集群中删除工作节点或向集群添加工作节点,则必须相应地更新白名单。
ibmcloud ks worker ls --cluster <cluster_name_or_ID> ``` -
-
将子网 CIDR 或 IP 地址添加到服务的出站流量白名单中,或添加到本地环境的入站流量白名单中。
-
对要允许流量进出的每个集群重复这些步骤。
更新 Kubernetes Service 网络区域的 IAM 允许列表
默认情况下,所有 IP 地址均可用于登录控制台 IBM Cloud 并执行集群管理操作,例如创建、更新、删除或查看凭据。 在 IBM Cloud Identity and Access Management (IAM)控制台中,您 可以通过指定允许访问的IP地址来创建白名单,其余所有IP地址均被限制访问。
如果选择设置 IAM 允许列表,则必须包含一个包含 Kubernetes Service 的网络区域。 否则,您现有的集群将无法正常运行。 这是因为 Kubernetes Service 控制平面需要能够联系 IAM,以部署和管理群集所需的 IBM 服务。 在设置 IBM 允许列表之前,请仔细阅读以下说明。
在 allowlist 中,您还必须为群集所在区域配置 IBM Cloud Kubernetes Service 控制平面中的网络区域,以便 IBM Cloud Kubernetes Service 可以创建或访问 Ingress ALB 等组件
开始之前,请注意:以下步骤需要您修改该用户的 IAM 白名单,该用户的凭据将用于授予集群所在区域和资源组的基础设施权限。 如果您是凭证的所有者,您可以修改您自己的 IAM 白名单设置。 如果您并非凭证所有者,但被分配了 用户管理服务的 “编辑者”或 “管理员” IBM Cloud IAM 平台访问角色,则可以更新凭证所有者的网络。
-
确定用于集群的区域和资源组基础架构许可权的用户凭证。
- 检查集群的区域和资源组的 API 密钥。
ibmcloud ks api-key info --cluster <cluster_name_or_ID> ``` 示例输出 ```sh {: screen} Getting information about the API key owner for cluster <cluster_name>... OK Name Email <user_name> <name@email.com> ``` 2. 检查区域和资源组的基础架构帐户是否已手动设置为使用其他 IBM Cloud 基础架构帐户。 ```sh {: pre} ibmcloud ks credential get --region <us-south> ``` **凭证设置为使用其他帐户时的输出示例**。 在这种情况下,用户的基础架构凭证将用于目标区域和资源组,即使在上一步中检索到的 API 密钥中存储了其他用户的凭证也是如此。 ```sh {: screen} OK Infrastructure credentials for user name <1234567_name@email.com> set for resource group <resource_group_name>. ``` **凭证未设置为使用其他帐户时的输出示例**。 在这种情况下,在上一步中检索到的 API 密钥所有者具有用于区域和资源组的基础架构凭证。 ```sh {: screen} FAILED No credentials set for resource group <resource_group_name>.: The user credentials could not be found. (E0051) ``` -
登录到 IBM Cloud 控制台。
-
创建网络区域,其中包括所有区域或仅有群集的区域的 Kubernetes Service IP。
-
在群集所在的账户中,从菜单栏单击 Manage > 基于上下文的限制。
-
单击 Network zones > 创建。
-
在 Name 中,为网络区域输入一个描述性名称,如
us-south-kubernetes-service-network-zone。 -
不要为 Allowed IP addresses 和 Allowed VPCs 部分输入任何值。
-
在 引用服务部分,选择 Kubernetes Service,然后单击 +。
-
对于 位置,您可以将该字段留空,以便使用所有位置(适用于其他区域的群集),也可以指定单个区域。
-
单击“下一步”,然后检查所选内容。
-
单击创建。
-
对其他区重复此操作。
-
-
将网络区域名称添加到 IAM 允许列表中。
-
在菜单栏中,单击管理 > 访问权 (IAM),然后选择设置。
-
在 “限制IP地址访问”下,选择 “启用”,并提供上一步骤中获取的网络区域名称。
-
单击应用。
-
获取 Kubernetes Service 子网 IP 地址
执行以下步骤以获取要添加到 IAM 允许列表的正确子网 IP 地址。
在控制台中获取子网 IP 地址
- 从 IBM Cloud 控制台 资源列表中,点击您的集群。
- 单击“工作节点”。
- 请注意集群中的工作程序节点所使用的每个 公用 VLAN。 多个工作程序节点可能使用相同的公用 VLAN。
- 从 IBM Cloud 控制台菜单中,
,点击基础设施 > 经典基础设施 > IP管理 > VLAN。
- 单击每个公共 VLAN,检查集群中的工作节点是否正在使用它。
- 对于集群中的工作程序节点所使用的每个公用 VLAN,请找到 子网 部分,并记下表中包含的每个 IP 地址。 这些是必须包含在允许列表中的 IP 地址。
在 CLI 中获取子网 IP 地址
-
列出工作程序节点使用的公用 VLAN。 输出的格式为
publicVLAN=<vlan_id>。kubectl describe nodes | grep publicVLAN | sort | uniq -
对于每个公用 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 -
列出工作程序节点并获取其公共 IP。 在输出中,公共 IP 列示在 External-IP 列中。 请注意,这些 IP 地址中的哪些包含在先前列示的子网中,并记下这些子网标识。
-
对于每个子网标识,运行命令以获取子网详细信息。 在每个输出中,记下 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