2.2.2.4. 所需端口
OpenShift Container Platform 安装会在每台主机上使用 iptables 自动创建一组内部防火墙规则。然而,如果您的网络配置使用外部防火墙,如基于硬件的防火墙,您必须确保基础架构组件可以通过作为特定进程或服务的通信端点的特定端口相互通信。
确保 OpenShift Container Platform 所需的以下端口在网络上打开,并配置为允许主机间的访问。根据您的配置和使用方法,有些端口是可选的。
4789 | UDP | 对于独立主机上的 pod 间的 SDN 通信需要此项。 |
4789 | UDP | 对于独立主机上的 pod 间的 SDN 通信需要此项。 |
443 或 8443 | TCP | 节点主机与 master API 通信、节点主机返回状态、接收任务等需要这个端口。 |
4789 | UDP | 对于独立主机上的 pod 间的 SDN 通信需要此项。 |
10250 | TCP |
|
10010 | TCP |
如果使用 CRI-O,打开这个端口来允许 |
2049 | TCP/UDP | 作为安装程序的一部分置备 NFS 主机时需要。 |
2379 | TCP | 用于独立 etcd(clustered)接受状态更改。 |
2380 | TCP | etcd 需要此端口在 master 之间打开,以便在使用独立 etcd(clustered)时进行领导选举和对等连接。 |
4789 | UDP | 对于独立主机上的 pod 间的 SDN 通信需要此项。 |
9000 | TCP |
如果选择了 |
443 或 8443 | TCP | 节点主机与 master API 通信、节点主机返回状态、接收任务等需要这个端口。 |
8444 | TCP |
控制器管理器和调度程序服务侦听的端口。需要为 |
22 | TCP | 安装程序或者系统管理员需要 SSH。 |
53 或 8053 | TCP/UDP | 集群服务的 DNS 解析需要(SkyDNS)。3.2 版本之前的安装或升级到 3.2 的环境使用端口 53。新的安装将默认使用 8053,以便可以配置 dnsmasq。仅需要在 master 主机内部间打开。 |
80 或 443 | TCP | 用于路由器的 HTTP/HTTPS。需要在节点主机上对外部打开,特别是在运行路由器的节点中。 |
1936 | TCP | (可选)运行模板路由器时需要打开访问统计信息。可以为外部或者内部打开连接,取决于是否想公开显示统计数据。可能需要额外配置来打开。详情请查看下面的备注部分。 |
2379 和 2380 | TCP | 供独立 etcd 使用。仅需在 master 主机上内部打开。2379 用于服务器/客户端连接。2380 用于服务器/服务器连接,只在有集群的 etcd 时才需要。 |
4789 | UDP | 对于 VxLAN 使用(OpenShift SDN)。仅在节点主机内部需要。 |
8443 | TCP | 与 API 服务器共享,供 OpenShift Container Platform Web 控制台使用。 |
10250 | TCP | 供 Kubelet 使用。需要在节点上打开为外部打开。 |
备注
- 在上面的例子中,端口 4789 用于 User Datagram Protocol(UDP)。
- 当部署使用 SDN 时,pod 网络可通过服务代理访问,除非它从 registry 部署的同一节点访问 registry。
- OpenShift Container Platform 内部 DNS 无法通过 SDN 接收。对于非云的部署,这会默认为与 master 主机上默认路由关联的 IP 地址。对于云部署,它将默认为与云元数据定义的第一个内部接口关联的 IP 地址。
-
master 主机使用端口 10250 访问节点,而不通过 SDN。它依赖于部署的目标主机,并使用计算的
openshift_public_hostname
值。 取决于 iptables 规则的具体设置,端口 1936 可能仍然不能访问。使用以下内容配置 iptables 打开端口 1936:
# iptables -A OS_FIREWALL_ALLOW -p tcp -m state --state NEW -m tcp \ --dport 1936 -j ACCEPT
9200 | TCP |
用于 Elasticsearch API。需要内部在任何基础架构节点上打开,以便 Kibana 能够检索日志以进行显示。它可以在外部开放,可通过路由直接访问 Elasticsearch。路由可以使用 |
9300 | TCP | 用于 Elasticsearch 集群间使用。需要在所有基础架构节点上内部打开,以便 Elasticsearch 集群成员可以相互通信。 |
9090 | TCP | 用于 Prometheus API 和 Web 控制台。 |
9100 | TCP | 对于 Prometheus Node-Exporter,它会导出硬件和操作系统指标数据。需要在每个 OpenShift Container Platform 主机上打开端口 9100,以便 Prometheus 服务器提取指标。 |
8443 | TCP | 节点主机与 master API 通信,用于节点主机返回状态、接收任务等。这个端口必须允许从 master 和 infra 节点到任何 master 和节点的通信。 |
10250 | TCP | 对于 Kubernetes cAdvisor(容器资源使用和性能分析代理)。这个端口必须允许从 master 和 infra 节点到任何 master 和节点的通信。对于指标数据(metrics),源必须是 infra 节点。 |
8444 | TCP | 控制器管理器和调度程序服务侦听的端口。在每个 OpenShift Container Platform 主机上都必须打开端口 8444。 |
1936 | TCP | (可选)运行模板路由器时需要打开访问统计信息。如果在路由器上启用了 Prometheus metrics,则必须允许从 infra 节点到所有托管路由器的infra 节点。可以为外部或者内部打开连接,取决于是否想公开显示统计数据。可能需要额外配置来打开。如需更多信息,请参阅上面的备注部分。 |
备注