代理和防火墙规则

将代理的地址列入许可名单

如果您的组织要求出站流量通过代理服务器,请将代理服务器的以下地址列入许可名单。请注意,需要 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
  • logging.googleapis.com
  • monitoring.googleapis.com
  • oauth2.googleapis.com
  • servicecontrol.googleapis.com
  • serviceusage.googleapis.com
  • storage.googleapis.com
  • checkpoint-api.hashicorp.com
  • releases.hashicorp.com

如果您使用 gkeadm 安装 GKE On-Prem,则无需将上述 hashicorp 网址列入许可名单。

此外,如果您的 vCenter Server 具有外部 IP 地址,请将其地址列入代理服务器的许可名单。

防火墙规则

设置防火墙规则以允许以下流量。

管理员集群中可用 IP 地址的防火墙规则

IP 地址块文件中列出了管理员集群中可用的 IP 地址。这些 IP 地址用于管理员集群控制层面节点、管理员集群插件节点和用户集群控制层面节点。由于管理员集群的 IP 地址不会分配给特定节点,因此您必须确保下表中列出的所有防火墙规则均应用于管理员集群可用的所有 IP 地址。

发件人

目的地

端口

协议

说明

管理员集群控制层面节点

vCenter Server API

443

TCP/https

集群大小调整。

管理员集群插件节点

vCenter Server API

443

TCP/https

用户集群生命周期管理。

用户集群控制层面节点

vCenter Server API

443

TCP/https

集群大小调整。

Cloud Logging Collector,在管理员集群插件节点上运行

oauth2.googleapis.com
logging.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com

443

TCP/https

Cloud Monitoring Collector,在管理员集群插件节点上运行

oauth2.googleapis.com
monitoring.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com

443

TCP/https

管理员集群控制层面节点

F5 BIG-IP API

443

TCP/https

用户集群控制层面节点

F5 BIG-IP API

443

TCP/https

管理员集群控制层面节点

本地 Docker 注册表

具体取决于您的注册表

TCP/https

如果将 Anthos Clusters on VMware 配置为使用本地私有 Docker 注册表(而非 gcr.io),则需要。

用户集群控制层面节点

本地 Docker 注册表

具体取决于您的注册表

TCP/https

如果将 Anthos Clusters on VMware 配置为使用本地私有 Docker 注册表(而非 gcr.io),则需要。

管理员集群控制层面节点

* gcr.io
*.googleusercontent.com
*.googleapis.com
*.k8s.io

443

TCP/https

从公共 Docker 注册表下载映像。

如果使用私有 Docker 注册表,则不需要。

*.googleusercontent.comgcr.io 的规范 DNS 名称。

用户集群控制层面节点

* gcr.io
*.googleusercontent.com
*.googleapis.com
*.k8s.io
443

TCP/https

从公共 Docker 注册表下载映像。

如果使用私有 Docker 注册表,则不需要。

*.googleusercontent.comgcr.io 的规范 DNS 名称。

管理员集群工作器节点

管理员集群工作器节点

全部

179 - bgp

443 - https

5473 - Calico/Typha

9443 - Envoy 指标

10250 - kubelet 节点端口

所有工作器节点必须是第 2 层相邻节点,并且没有任何防火墙。

管理员集群节点

管理员集群 pod CIDR

全部

任何

外部流量在第一个节点上进行 SNAT,并发送到 pod IP。

管理员集群工作器节点

用户集群节点

22

ssh

API 服务器通过 SSH 隧道与 kubelet 进行的通信。

管理员集群节点

管理员集群的 Seesaw 负载平衡虚拟机的 IP

20255、20257

TCP/http

负载平衡配置推送和指标监控。只有当您使用的是捆绑式 Seesaw 负载平衡时才需要。

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

在用户集群节点中,其 IP 地址在 IP 地址块文件中列出。

与管理员集群节点一样,您不知道哪个 IP 地址将用于哪个节点。因此,用户集群节点中的所有规则都适用于每个用户集群节点。

发件人

目的地

端口

协议

说明

用户集群工作器节点

管理员工作站 Docker 注册表

用户集群工作器节点

* gcr.io
*.googleusercontent.com
*.googleapis.com
*.k8s.io

443

TCP/https

从公共 Docker 注册表下载映像。

如果使用私有 Docker 注册表,则不需要。

*.googleusercontent.comgcr.io 的规范 DNS 名称。

用户集群工作器节点

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 层相邻节点,并且没有任何防火墙。

用户集群节点

用户集群 pod CIDR

全部

任何

外部流量在第一个节点上进行 SNAT,并发送到 pod IP。

Cloud Logging Collector,在随机用户集群工作器节点上运行

oauth2.googleapis.com
logging.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com

443

TCP/https

Connect Agent,在随机用户集群工作器节点上运行。

gkeconnect.googleapis.com
gkehub.googleapis.com
www.googleapis.com
oauth2.googleapis.com
accounts.google.com

443

TCP/https

Connect 流量。

Cloud Monitoring Collector,在随机用户集群工作器节点上运行

oauth2.googleapis.com
Monitoring.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com

443

TCP/https

用户集群节点

用户集群的 Seesaw 负载平衡虚拟机的 IP。

20255、20257

TCP/http

负载平衡配置推送和指标监控。只有当您使用的是捆绑式 Seesaw 负载平衡时才需要。

其余组件的防火墙规则

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

发件人

目的地

端口

协议

说明

管理员集群 pod CIDR

管理员集群 pod CIDR

全部

任何

Pod 之间的流量直接通过 Pod CIDR 中的来源和目标 IP 进行 L2 转发。

管理员集群 pod CIDR

管理员集群节点

全部

任何

外部流量的返回流量。

用户集群 pod CIDR

用户集群 pod CIDR

全部

任何

Pod 之间的流量直接通过 Pod CIDR 中的来源和目标 IP 进行 L2 转发。

用户集群 pod CIDR

用户集群节点

全部

任何

外部流量的返回流量。

客户端和应用最终用户

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 部署。

管理员工作站

* gcr.io
*.googleusercontent.com
*.googleapis.com
*.k8s.io"

443

TCP/https

从公共 Docker 注册表下载 Docker 映像。

*.googleusercontent.comgcr.io 的规范 DNS 名称。

管理员工作站

vCenter Server API

F5 BIG-IP API

443

TCP/https

集群引导。

管理员工作站

目标集群中主机的 ESXi VMkernel (mgt) IP

443

TCP/https

管理员工作站通过 ESXi 主机将 OVA 上传到数据存储区。

管理员工作站

管理员集群控制层面虚拟机的节点 IP 地址

443

TCP/https

集群引导。

管理员工作站

管理员集群的 Kubernetes API 服务器的 VIP

用户集群的 Kubernetes API 服务器的 VIP

443

TCP/https

集群引导。

用户集群删除。

管理员工作站

管理员集群控制层面节点和工作器节点

443

TCP/https

集群引导。

控制层面升级。

管理员工作站

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

443

TCP/https

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

管理员工作站

管理员集群的 Istio Ingress 的 VIP

用户集群的 Istio Ingress 的 VIP

443

TCP/https

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

管理员工作站

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

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

20256、20258

TCP/http/gRPC

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

管理员工作站

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

22

TCP

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

负载平衡虚拟机 IP

相应集群的节点 IP

10256:节点健康检查

30000 - 32767:healthCheckNodePort

TCP/http

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

F5 Self-IP

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

30000 - 32767

任何

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

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