下表列出了运行 Rancher Server 的节点之间需要开放的端口。
端口要求因 Rancher 是安装在 K3s Kubernetes 集群,RKE Kubernetes 集群还是单个 Docker 容器中而有所不同。
import Tabs from ‘@theme/Tabs’; import TabItem from ‘@theme/TabItem’;
K3s Server 需要开放 6443 端口供节点访问。
使用 Flannel VXLAN 时,这些节点需要能够通过 UDP 端口 8472 访问其他节点。节点不应侦听其他端口。K3s 使用反向隧道,建立节点与服务器的出站连接,所有 kubelet 通信都通过该隧道进行。但是,如果您不使用 Flannel,而是使用自定义的 CNI,则 K3s 不需要 8472 端口。
如果要使用指标服务器(Metrics Server),则需要在每个节点上开放端口 10250。
Rancher Server 节点的入站规则
通常情况下,可以允许全部出站流量。
协议 | 端口 | 源 | 描述 |
---|---|---|---|
TCP | 80 | 负载均衡或反向代理 | 到 Rancher UI/API 的 HTTP 流量 |
TCP | 443 |
| 到 Rancher UI/API 的 HTTPS 流量 |
Rancher 节点的出站规则
Rancher 节点的入站规则
协议 | 端口 | 源 | 描述 |
---|---|---|---|
TCP | 80 | 在外部进行 TLS 终止的负载均衡或反向代理 | 使用外部 TLS 终止时的 Rancher UI/API |
TCP | 443 |
| Rancher agent,Rancher UI/API,kubectl |
Rancher 节点的出站规则
下游 Kubernetes 集群可运行您的业务应用。本节介绍需要在下游集群中的节点上开放哪些端口,以便 Rancher 可以与它们进行通信。
集群节点需要开放的端口会根据集群的启动方式而变化。下面列出了需要为不同集群创建类型开放的端口。
下表描述了在中创建节点用于Rancher 启动 Kubernetes的端口需求。
import PortsIaasNodes from ‘@theme/PortsIaasNodes’;
自定义节点的端口要求
下表描述了带有自定义节点的的端口要求。
import PortsCustomNodes from ‘@theme/PortsCustomNodes’;
下表描述了托管集群的端口要求。
import PortsImportedHosted from ‘@theme/PortsImportedHosted’;
导入集群的端口要求
下表描述了导入集群的端口要求。
通常情况下,可以将这些端口在 Kubernetes 节点上开放,无论它是哪种类型的集群。
协议 | 端口 | 描述 |
---|---|---|
TCP | 22 | 使用主机驱动通过 SSH 进行节点配置 |
TCP | 2376 | 主机驱动与 Docker 守护进程通信的 TLS 端口 |
TCP | 2379 | etcd 客户端请求 |
TCP | 2380 | etcd 节点通信 |
UDP | 8472 | Canal/Flannel VXLAN overlay 网络 |
UDP | 4789 | Windows 集群中 Flannel VXLAN overlay 网络 |
TCP | 9099 | Canal/Flannel 健康检查 |
TCP | 9796 | 集群监控拉取节点指标的默认端口(仅需要内网可达) |
TCP | 6783 | Weave 端口 |
UDP | 6783-6784 | Weave UDP 端口 |
TCP | 10250 | kubelet API |
TCP | 10254 | Ingress controller 健康检查 |
TCP/UDP | 30000-32767 | NodePort 端口范围 |
本地节点流量
标记为(即: 9099 TCP)的端口用于 Kubernetes 健康检查(livenessProbe
和readinessProbe
)。这些健康检查在节点本身上执行。在大多数云环境中,默认情况下会允许此本地流量。
但是在以下情况下,此流量可能会被阻止:
- 您已在节点上应用了严格的主机防火墙策略。
在使用AWS EC2 主机驱动在 Rancher 中配置集群节点时,您可以选择让 Rancher 创建一个名为 rancher-nodes 的安全组。以下规则将自动添加到此安全组。