代理和防火墙规则

本页面介绍如何为 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
  • 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

集群大小调整。

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 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 负载平衡时才需要。

用户集群节点的防火墙规则

在用户集群节点中,其 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 层相邻节点,并且没有任何防火墙。

用户集群节点

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 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 负载平衡时才需要。

其余组件的防火墙规则

这些规则适用于未在管理员集群节点和用户集群节点表格中列出的任何其他组件。

发件人

来源端口

端口

协议

说明

管理员集群 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 创建管理员工作站时才需要)。
检查“cat /proc/sys/net/ipv4/ip_local_port_range”中的临时端口范围。

管理员工作站

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

作为 gkectl check-config 命令的一部分的网络验证。

管理员工作站

32768- 60999

管理员集群的 Istio Ingress 的 VIP

用户集群的 Istio Ingress 的 VIP

443

TCP/https

作为 gkectl check-config 命令的一部分的网络验证。

管理员工作站

32768- 60999

管理员集群和用户集群中都存在的 Seesaw 负载均衡虚拟机的 IP

管理员集群和用户集群中都存在的 Seesaw 负载平衡 VIP

20256、20258

TCP/http/gRPC

负载均衡的健康检查。只有当您使用的是捆绑式 Seesaw 负载平衡时才需要。

管理员工作站

32768- 60999

集群控制层面的节点 IP 地址

22

TCP

如果需要能够从管理员工作站通过 SSH 访问管理员集群控制层面,则为必需。

负载均衡虚拟机 IP

32768- 60999

相应集群的节点 IP

10256:节点健康检查
30000 - 32767:healthCheckNodePort

TCP/http

节点健康检查。healthCheckNodePort 用于 externalTrafficPolicy 设置为 Local 的服务。只有当您使用的是捆绑式 Seesaw 负载平衡时才需要。

F5 Self-IP

1024 - 65535

所有管理员集群节点和所有用户集群节点

30000 - 32767

任何

适用于 F5 BIG-IP 通过虚拟服务器 VIP 负载平衡到 Kubernetes 集群节点上的节点端口的数据层面流量。

通常,F5 self-ip 与 Kubernetes 集群节点位于同一网络/子网上。