2.2.2.4. 所需端口


OpenShift Container Platform 安装会在每台主机上使用 iptables 自动创建一组内部防火墙规则。然而,如果您的网络配置使用外部防火墙,如基于硬件的防火墙,您必须确保基础架构组件可以通过作为特定进程或服务的通信端点的特定端口相互通信。

确保 OpenShift Container Platform 所需的以下端口在网络上打开,并配置为允许主机间的访问。根据您的配置和使用方法,有些端口是可选的。

表 2.2. 节点到节点

4789

UDP

对于独立主机上的 pod 间的 SDN 通信需要此项。

表 2.3. 节点到 Master

4789

UDP

对于独立主机上的 pod 间的 SDN 通信需要此项。

4438443

TCP

节点主机与 master API 通信、节点主机返回状态、接收任务等需要这个端口。

表 2.4. Master 到节点

4789

UDP

对于独立主机上的 pod 间的 SDN 通信需要此项。

10250

TCP

oc 命令通过Kubelet 的 master 代理到节点的通信需要它。这个端口必须允许从 master 和 infra 节点到任何 master 和节点的通信。对于指标数据(metrics),源必须是 infra 节点。

10010

TCP

如果使用 CRI-O,打开这个端口来允许 oc execoc rsh 操作。

表 2.5. Master 到 Master

2049

TCP/UDP

作为安装程序的一部分置备 NFS 主机时需要。

2379

TCP

用于独立 etcd(clustered)接受状态更改。

2380

TCP

etcd 需要此端口在 master 之间打开,以便在使用独立 etcd(clustered)时进行领导选举和对等连接。

4789

UDP

对于独立主机上的 pod 间的 SDN 通信需要此项。

表 2.6. 外部到 Load Balancer

9000

TCP

如果选择了 原生 HA 方法,则可以选择允许访问 HAProxy 统计页面。

表 2.7. 外部到 Master

4438443

TCP

节点主机与 master API 通信、节点主机返回状态、接收任务等需要这个端口。

8444

TCP

控制器管理器和调度程序服务侦听的端口。需要为 /metrics/healthz 端点打开。

表 2.8. IaaS 部署

22

TCP

安装程序或者系统管理员需要 SSH。

538053

TCP/UDP

集群服务的 DNS 解析需要(SkyDNS)。3.2 版本之前的安装或升级到 3.2 的环境使用端口 53。新的安装将默认使用 8053,以便可以配置 dnsmasq。仅需要在 master 主机内部间打开。

80443

TCP

用于路由器的 HTTP/HTTPS。需要在节点主机上对外部打开,特别是在运行路由器的节点中。

1936

TCP

可选)运行模板路由器时需要打开访问统计信息。可以为外部或者内部打开连接,取决于是否想公开显示统计数据。可能需要额外配置来打开。详情请查看下面的备注部分。

23792380

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
表 2.9. 聚合的日志记录(Logging)和指标数据(Metrics)

9200

TCP

用于 Elasticsearch API。需要内部在任何基础架构节点上打开,以便 Kibana 能够检索日志以进行显示。它可以在外部开放,可通过路由直接访问 Elasticsearch。路由可以使用 oc expose 创建。

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 节点。可以为外部或者内部打开连接,取决于是否想公开显示统计数据。可能需要额外配置来打开。如需更多信息,请参阅上面的备注部分。

备注

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.