本页面介绍如何为 VMware 上的 Anthos 集群 (GKE On-Prem) 设置代理和防火墙规则。
将代理的地址列入许可名单
如果您的组织要求出站流量通过代理服务器,请将代理服务器的以下地址列入许可名单。请注意,需要 www.googleapis.com
,而不是 googleapis.com
:
- dl.google.com(Google Cloud SDK 安装程序需要)
- gcr.io
- www.googleapis.com
- accounts.google.com
- cloudresourcemanager.googleapis.com
- container.googleapis.com
- gkeconnect.googleapis.com
- gkehub.googleapis.com
- iam.googleapis.com
- iamcredentials.googleapis.com
- logging.googleapis.com
- monitoring.googleapis.com
- oauth2.googleapis.com
- opsconfigmonitoring.googleapis.com
- securetoken.googleapis.com
- servicecontrol.googleapis.com
- serviceusage.googleapis.com
- storage.googleapis.com
- sts.googleapis.com
- checkpoint-api.hashicorp.com
- releases.hashicorp.com(可选。仅当使用 Terraform 创建管理员工作站时才需要)。
如果您使用 gkeadm
安装 Anthos clusters on VMware,则无需将上述 hashicorp 网址列入许可名单。
此外,如果您的 vCenter Server 具有外部 IP 地址,请将其地址列入代理服务器的许可名单。
防火墙规则
设置防火墙规则以允许以下流量。
管理员集群中可用 IP 地址的防火墙规则
IP 地址块文件中列出了管理员集群中可用的 IP 地址。这些 IP 地址用于管理员集群控制平面节点、管理员集群插件节点和用户集群控制平面节点。由于管理员集群的 IP 地址不会分配给特定节点,因此您必须确保下表中列出的所有防火墙规则均应用于管理员集群可用的所有 IP 地址。
发件人 |
来源端口 |
到 |
端口 |
协议 |
说明 |
---|---|---|---|---|---|
管理员集群控制平面节点 |
1024 - 65535 |
vCenter Server API |
443 |
TCP/https |
集群大小调整。 |
管理员集群插件节点 |
1024 - 65535 |
vCenter Server API |
443 |
TCP/https |
用户集群生命周期管理。 |
用户集群控制平面节点 |
1024 - 65535 |
vCenter Server API |
443 |
TCP/https |
集群大小调整。 |
用户集群控制平面节点 |
1024 - 65535 |
cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com |
443 |
TCP/https |
必须具备相应的访问权限才能进行 hub 注册。 |
Cloud Logging Collector,在管理员集群插件节点上运行 |
1024 - 65535 |
oauth2.googleapis.com logging.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com storage.googleapis.com www.googleapis.com |
443 |
TCP/https |
|
Cloud Metadata Collector,在管理员集群插件节点上运行 |
1024 - 65535 |
opsconfigmonitoring.googleapis.com |
443 |
TCP/https |
|
Cloud Monitoring Collector,在管理员集群插件节点上运行 |
1024 - 65535 |
oauth2.googleapis.com monitoring.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com |
443 |
TCP/https |
|
管理员集群控制平面节点 |
1024 - 65535 |
F5 BIG-IP API |
443 |
TCP/https |
|
用户集群控制平面节点 |
1024 - 65535 |
F5 BIG-IP API |
443 |
TCP/https |
|
管理员集群控制平面节点 |
1024 - 65535 |
本地 Docker 注册表 |
具体取决于您的注册表 |
TCP/https |
如果将 Anthos Clusters on VMware 配置为使用本地私有 Docker 注册表(而非 gcr.io),则需要。 |
用户集群控制平面节点 |
1024 - 65535 |
本地 Docker 注册表 |
具体取决于您的注册表 |
TCP/https |
如果将 Anthos Clusters on VMware 配置为使用本地私有 Docker 注册表(而非 gcr.io),则需要。 |
管理员集群控制平面节点 |
1024 - 65535 |
gcr.io oauth2.googleapis.com storage.googleapis.com 为管理员集群启用的服务所需的任何 *.googleapis.com 网址 |
443 |
TCP/https |
从公共 Docker 注册表下载映像。 如果使用私有 Docker 注册表,则不需要。 |
用户集群控制平面节点 |
1024 - 65535 |
gcr.io oauth2.googleapis.com storage.googleapis.com 为管理员集群启用的服务所需的任何 *.googleapis.com 网址 |
443 |
TCP/https |
从公共 Docker 注册表下载映像。 如果使用私有 Docker 注册表,则不需要。 |
管理员集群工作器节点 |
1024 - 65535 |
管理员集群工作器节点 |
全部 |
179 - bgp 443 - https 5473 - Calico/Typha 9443 - Envoy 指标 10250 - kubelet 节点端口 |
所有工作器节点必须是第 2 层相邻节点,并且没有任何防火墙。 |
管理员集群节点 |
1024 - 65535 |
管理员集群 pod CIDR |
全部 |
任意 |
外部流量在第一个节点上进行 SNAT,并发送到 pod IP。 |
管理员集群工作器节点 |
全部 |
用户集群节点 |
22 |
ssh |
API 服务器通过 SSH 隧道与 kubelet 进行的通信。 |
管理员集群节点 |
1024 - 65535 |
管理员集群的 Seesaw 负载均衡虚拟机的 IP |
20255、20257 |
TCP/http |
负载均衡配置推送和指标监控。只有当您使用的是捆绑式 Seesaw 负载均衡时才需要。 |
管理员集群节点 |
1024 - 65535 |
管理员集群节点 |
7946 |
TCP/UDP |
MetalLB 健康检查只有当您使用的是捆绑式 LB MetalLB 时才需要。 |
用户集群节点的防火墙规则
在用户集群节点中,其 IP 地址在 IP 地址块文件中列出。
与管理员集群节点一样,您不知道哪个 IP 地址将用于哪个节点。因此,用户集群节点中的所有规则都适用于每个用户集群节点。
发件人 |
来源端口 |
到 |
端口 |
协议 |
说明 |
---|---|---|---|---|---|
用户集群工作器节点 |
全部 |
gcr.io oauth2.googleapis.com storage.googleapis.com 为此集群启用的服务所需的任何 *.googleapis.com 网址 |
443 |
TCP/https |
从公共 Docker 注册表下载映像。 如果使用私有 Docker 注册表,则不需要。 |
用户集群工作器节点 |
全部 |
F5 BIG-IP API |
443 |
TCP/https |
|
用户集群工作器节点 |
全部 |
在管理员集群中运行的 pushprox 服务器的 VIP。 |
8443 |
TCP/https |
Prometheus 流量。 |
用户集群工作器节点 |
全部 |
用户集群工作器节点 |
全部 |
22 - ssh 179 - bgp 443 - https 5473 - calico-typha 9443 - envoy 指标 10250 - kubelet 节点端口 |
所有工作器节点必须是第 2 层相邻节点,并且没有任何防火墙。 |
用户集群工作器节点 |
全部 |
用户控制平面 VIP 地址 |
443 |
TCP/https |
|
用户集群工作器节点 |
全部 |
用户控制平面 VIP 地址 |
8132 |
GRPC |
Konnectivity 连接。 |
用户集群节点 |
1024 - 65535 |
用户集群 pod CIDR |
全部 |
任意 |
外部流量在第一个节点上进行 SNAT,并发送到 pod IP。 |
Cloud Logging Collector,在随机用户集群工作器节点上运行 |
1024 - 65535 |
oauth2.googleapis.com logging.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com www.googleapis.com |
443 |
TCP/https |
|
Connect Agent,在随机用户集群工作器节点上运行。 |
1024 - 65535 |
cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com www.googleapis.com iam.googleapis.com iamcredentials.googleapis.com oauth2.googleapis.com securetoken.googleapis.com sts.googleapis.com accounts.google.com |
443 |
TCP/https |
Connect 流量。 |
Cloud Metadata Collector,在随机用户集群工作器节点上运行 |
1024 - 65535 |
opsconfigmonitoring.googleapis.com |
443 |
TCP/https |
|
Cloud Monitoring Collector,在随机用户集群工作器节点上运行 |
1024 - 65535 |
oauth2.googleapis.com Monitoring.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com |
443 |
TCP/https |
|
用户集群节点 |
1024 - 65535 |
用户集群的 Seesaw 负载均衡虚拟机的 IP。 |
20255、20257 |
TCP/http |
负载均衡配置推送和指标监控。只有当您使用的是捆绑式 Seesaw 负载均衡时才需要。 |
enableLoadBalancer=true 的用户集群节点 |
1024 - 65535 |
enableLoadBalancer=true 的用户集群节点 |
7946 |
TCP/UDP |
MetalLB 健康检查只有当您使用的是捆绑式 LB MetalLB 时才需要。 |
用户集群网络 |
全部 |
用户集群控制平面 VIP |
443 |
TCP/https |
其余组件的防火墙规则
这些规则适用于未在管理员集群节点和用户集群节点表格中列出的任何其他组件。
发件人 |
来源端口 |
到 |
端口 |
协议 |
说明 |
---|---|---|---|---|---|
管理员集群 pod CIDR |
1024 - 65535 |
管理员集群 pod CIDR |
全部 |
任何 |
Pod 之间的流量直接通过 Pod CIDR 中的来源和目标 IP 进行 L2 转发。 |
管理员集群 pod CIDR |
1024 - 65535 |
管理员集群节点 |
全部 |
任何 |
外部流量的返回流量。 |
用户集群 pod CIDR |
1024 - 65535 |
用户集群 pod CIDR |
全部 |
任何 |
Pod 之间的流量直接通过 Pod CIDR 中的来源和目标 IP 进行 L2 转发。 |
用户集群 pod CIDR |
1024 - 65535 |
用户集群节点 |
全部 |
任何 |
外部流量的返回流量。 |
客户端和应用最终用户 |
全部 |
Istio Ingress 的 VIP |
80、443 |
TCP |
进入用户集群的 Ingress 服务的最终用户流量。 |
部署管理员工作站的 Jump 服务器 |
临时端口范围 |
checkpoint-api.hashicorp.com releases.hashicorp.com vCenter Server API 目标集群中主机的 ESXi VMkernel (mgt) IP |
443 |
TCP/https |
管理员工作站的 Terraform 部署。 (可选。仅当使用 Terraform 创建管理员工作站时才需要)。 |
管理员工作站 |
32768- 60999 |
gcr.io cloudresourcemanager.googleapis.com oauth2.googleapis.com storage.googleapis.com 为此集群启用的服务所需的任何 *.googleapis.com 网址 |
443 |
TCP/https |
从公共 Docker 注册表下载 Docker 映像。 |
管理员工作站 |
32768- 60999 |
gcr.io cloudresourcemanager.googleapis.com iam.googleapis.com oauth2.googleapis.com serviceusage.googleapis.com storage.googleapis.com 为管理员集群或用户集群启用的服务所需的任何 *.googleapis.com 网址 |
443 |
TCP/https |
预检检查(验证)。 |
管理员工作站 |
32768- 60999 |
vCenter Server API F5 BIG-IP API |
443 |
TCP/https |
集群引导。 |
管理员工作站 |
32768- 60999 |
目标集群中主机的 ESXi VMkernel (mgt) IP |
443 |
TCP/https |
管理员工作站通过 ESXi 主机将 OVA 上传到数据存储区。 |
管理员工作站 |
32768- 60999 |
管理员集群控制平面虚拟机的节点 IP 地址 |
443 |
TCP/https |
集群引导。 |
管理员工作站 |
32768- 60999 |
管理员集群的 Kubernetes API 服务器的 VIP 用户集群的 Kubernetes API 服务器的 VIP |
443 |
TCP/https |
集群引导。 用户集群删除。 |
管理员工作站 |
32768- 60999 |
管理员集群控制平面节点和工作器节点 |
443 |
TCP/https |
集群引导。 控制平面升级。 |
管理员工作站 |
32768- 60999 |
所有管理员集群节点和所有用户集群节点 |
443 |
TCP/https |
作为 |
管理员工作站 |
32768- 60999 |
管理员集群的 Istio Ingress 的 VIP 用户集群的 Istio Ingress 的 VIP |
443 |
TCP/https |
作为 |
管理员工作站 |
32768- 60999 |
管理员集群和用户集群中都存在的 Seesaw 负载均衡虚拟机的 IP 管理员集群和用户集群中都存在的 Seesaw 负载均衡 VIP |
20256、20258 |
TCP/http/gRPC |
负载均衡的健康检查。只有当您使用的是捆绑式 Seesaw 负载均衡时才需要。 |
管理员工作站 |
32768- 60999 |
集群控制平面的节点 IP 地址 |
22 |
TCP |
如果需要能够从管理员工作站通过 SSH 访问管理员集群控制平面,则为必需。 |
负载均衡虚拟机 IP |
32768- 60999 |
相应集群的节点 IP |
10256:节点健康检查 |
TCP/http |
节点健康检查。healthCheckNodePort 用于 externalTrafficPolicy 设置为 Local 的服务。只有当您使用的是捆绑式 Seesaw 负载均衡时才需要。 |
F5 Self-IP |
1024 - 65535 |
所有管理员集群节点和所有用户集群节点 |
30000 - 32767 |
任何 |
适用于 F5 BIG-IP 通过虚拟服务器 VIP 负载均衡到 Kubernetes 集群节点上的节点端口的数据层面流量。 通常,F5 self-ip 与 Kubernetes 集群节点位于同一网络/子网上。 |