|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
端口要求
为了正常运行,Rancher 需要在 Rancher 节点和下游 Kubernetes 集群节点上开放多个端口。
Rancher 节点
下表列出了需要对运行 Rancher 服务器的节点开放的端口。
端口要求根据 Rancher 服务器架构而有所不同。
Rancher 可以安装在任何 Kubernetes 集群上。对于在 K3s、RKE 或 RKE2 Kubernetes 集群上安装的 Rancher,请参阅下面的选项卡。对于其他 Kubernetes 发行版,请参阅该发行版的文档以获取集群节点的端口要求。
|
备注:
|
上的 Rancher 服务器节点的端口SUSE® Rancher Prime: K3s
点击展开
K3s 服务器需要所有节点都能访问 6443 端口。
当使用 Flannel VXLAN 时,节点需要能够通过 UDP 端口 8472 访问其他节点。节点不应在任何其他端口上侦听。K3s 使用反向隧道,使得节点与服务器之间建立出站连接,所有 kubelet 流量都通过该隧道传输。但是,如果您不使用 Flannel 并提供自己的自定义 CNI,则 K3s 不需要 8472 端口。
如果您希望使用指标服务器,您需要在每个节点上打开端口 10250。
|
重要说明:
节点上的 VXLAN 端口不应暴露给外部,因为这会使您的集群网络被任何人访问。在防火墙/安全组后运行您的节点,禁用对 8472 端口的访问。 |
下表详细列出了入站和出站流量的端口要求:
| 协议 | 端口 | 源 | 说明 |
|---|---|---|---|
TCP |
80 |
进行外部 SSL 终止的负载均衡器/代理 |
当使用外部 SSL 终止时的 Rancher UI/API |
TCP |
443 |
<ul><li>服务器节点</li><li>代理节点</li><li>托管/注册的 Kubernetes</li><li>任何需要能够使用 Rancher UI 或 API 的来源</li></ul> |
Rancher 代理、Rancher UI/API、kubectl |
TCP |
6443 |
K3s 服务器节点 |
Kubernetes API |
UDP |
8472 |
K3s 服务器和代理节点 |
仅在使用 Flannel VXLAN 时需要。 |
TCP |
10250 |
K3s 服务器和代理节点 |
kubelet |
| 协议 | 端口 | 目标 | 说明 |
|---|---|---|---|
TCP |
22 |
使用节点驱动程序创建的节点的任何节点 IP |
使用节点驱动程序,通过 SSH 对节点进行配置。 |
TCP |
443 |
git.rancher.io |
Rancher 目录 |
TCP |
2376 |
使用节点驱动程序创建的节点的任何节点 IP |
Docker Machine 使用的 Docker 守护程序 TLS 端口。 |
TCP |
6443 |
托管/导入的 Kubernetes API |
Kubernetes API 服务器 |
上的 Rancher 服务器节点的端口SUSE® Rancher Prime: RKE2
点击展开
RKE2 服务器需要端口 6443 和 9345 可被集群中的其他节点访问。
当使用 Flannel VXLAN 时,所有节点需要能够通过 UDP 端口 8472 访问其他节点。
如果您希望使用指标服务器,您需要在每个节点上打开端口 10250。
|
重要说明:
节点上的 VXLAN 端口不应暴露给外部,因为这会使您的集群网络被任何人访问。在防火墙/安全组后运行您的节点,禁用对 8472 端口的访问。 |
| 协议 | 端口 | 源 | 说明 |
|---|---|---|---|
TCP |
9345 |
RKE2 服务器和代理节点 |
节点注册。所有服务器节点上的端口应对集群中的所有其他节点开放。 |
TCP |
6443 |
RKE2 代理节点 |
Kubernetes API |
UDP |
8472 |
RKE2 服务器和代理节点 |
仅在使用 Flannel VXLAN 时需要 |
TCP |
10250 |
RKE2 服务器和代理节点 |
kubelet |
TCP |
2379 |
RKE2 服务器节点 |
etcd 客户端端口 |
TCP |
2380 |
RKE2 服务器节点 |
etcd 对等端口 |
TCP |
30000-32767 |
RKE2 服务器和代理节点 |
NodePort 端口范围。可以使用 TCP 或 UDP。 |
TCP |
5473 |
Calico-node pod 连接到 typha pod。 |
在使用Calico进行部署时需要。 |
HTTP |
80 |
进行外部 SSL 终止的负载均衡器/代理 |
当使用外部 SSL 终止时的 Rancher UI/API |
HTTPS |
443 |
<ul><li>托管/注册的 Kubernetes</li><li>任何需要能够使用 Rancher UI 或 API 的来源</li></ul> |
Rancher代理,Rancher UI/API,kubectl。如果您有负载均衡器进行TLS终止,则不需要。 |
通常,所有出站流量都是允许的。
Docker中Rancher Server的端口
点击展开
以下表格详细列出了Rancher节点的端口要求,包括入站和出站流量:
| 协议 | 端口 | 源 | 说明 |
|---|---|---|---|
TCP |
80 |
进行外部 SSL 终止的负载均衡器/代理 |
当使用外部 SSL 终止时的 Rancher UI/API |
TCP |
443 |
<ul><li>托管/注册的 Kubernetes</li><li>任何需要能够使用 Rancher UI 或 API 的来源</li></ul> |
Rancher 代理、Rancher UI/API、kubectl。 |
| 协议 | 端口 | 源 | 说明 |
|---|---|---|---|
TCP |
22 |
使用节点驱动程序创建的节点的任何节点 IP |
使用节点驱动程序,通过 SSH 对节点进行配置。 |
TCP |
443 |
git.rancher.io |
Rancher 目录 |
TCP |
2376 |
从使用节点驱动程序创建的节点的任何节点IP |
Docker Machine 使用的 Docker 守护程序 TLS 端口。 |
TCP |
6443 |
托管/导入的 Kubernetes API |
Kubernetes API 服务器 |
下游 Kubernetes 集群节点。
下游 Kubernetes 集群运行您的应用和服务。本节描述了在下游集群节点上需要开放哪些端口,以便 Rancher 能够与它们通信。
端口要求因下游集群的启动方式而异。下面的每个选项卡列出了不同集群类型所需打开的端口。
以下图表描绘了为每个集群类型打开的端口。
|
如果安全性不是一个大问题,并且您可以接受打开一些额外的端口,您可以使用 常用端口 中的表格作为您的端口参考,而不是下面的综合表格。 |
集群的SUSE Virtualization端口
有关 Harvester 端口要求的更多信息,请参阅 SUSE Virtualization 集成概述。
使用节点池的 Rancher 启动的 Kubernetes 集群的端口
点击展开
下表描述了为 Rancher 启动的 Kubernetes(其节点由 基础设施提供商 创建)所需的端口要求。
|
在诸如 Amazon EC2 或 DigitalOcean 等云提供商中创建集群时,Rancher 会自动打开所需的端口。 |
| From / To | Rancher Nodes | etcd Plane Nodes | Control Plane Nodes | Worker Plane Nodes | External Rancher Load Balancer | Internet |
|---|---|---|---|---|---|---|
Rancher Nodes (1) |
22 TCP |
git.rancher.io |
||||
2376 TCP |
||||||
etcd Plane Nodes |
443 TCP (3) |
2379 TCP |
443 TCP |
|||
2380 TCP |
||||||
6443 TCP |
||||||
8472 UDP |
||||||
9099 TCP (4) |
||||||
Control Plane Nodes |
443 TCP (3) |
2379 TCP |
443 TCP |
|||
2380 TCP |
||||||
6443 TCP |
||||||
8472 UDP |
||||||
10250 TCP |
||||||
9099 TCP (4) |
||||||
10254 TCP (4) |
||||||
Worker Plane Nodes |
443 TCP (3) |
6443 TCP |
443 TCP |
|||
8472 UDP |
||||||
9099 TCP (4) |
||||||
10254 TCP (4) |
||||||
Kubernetes API Clients |
6443 TCP (5) |
|||||
Workload Clients or Load Balancer |
30000-32767 TCP / UDP |
|||||
80 TCP (Ingress) |
||||||
443 TCP (Ingress) |
||||||
Notes: |
||||||
使用自定义节点的 Rancher 启动的 Kubernetes 集群的端口
点击展开
下表描述了使用 自定义节点 的 Rancher 启动的 Kubernetes 的端口要求。
| From / To | Rancher Nodes | etcd Plane Nodes | Control Plane Nodes | Worker Plane Nodes | External Rancher Load Balancer | Internet |
|---|---|---|---|---|---|---|
Rancher Nodes (1) |
git.rancher.io |
|||||
etcd Plane Nodes |
443 TCP (3) |
2379 TCP |
443 TCP |
|||
2380 TCP |
||||||
6443 TCP |
||||||
8472 UDP |
||||||
4789 UDP (6) |
||||||
9099 TCP (4) |
||||||
Control Plane Nodes |
443 TCP (3) |
2379 TCP |
443 TCP |
|||
2380 TCP |
||||||
6443 TCP |
||||||
8472 UDP |
||||||
4789 UDP (6) |
||||||
10250 TCP |
||||||
9099 TCP (4) |
||||||
10254 TCP (4) |
||||||
Worker Plane Nodes |
443 TCP (3) |
6443 TCP |
443 TCP |
|||
8472 UDP |
||||||
4789 UDP (6) |
||||||
9099 TCP (4) |
||||||
10254 TCP (4) |
||||||
Kubernetes API Clients |
6443 TCP (5) |
|||||
Workload Clients or Load Balancer |
30000-32767 TCP / UDP |
|||||
80 TCP (Ingress) |
||||||
443 TCP (Ingress) |
||||||
Notes: |
||||||
托管 Kubernetes 集群的端口。
点击展开
下表描述了 托管集群 的端口要求。
| From / To | Rancher Nodes | Hosted / Imported Cluster | External Rancher Load Balancer | Internet |
|---|---|---|---|---|
Rancher Nodes (1) |
80 TCP |
Kubernetes API |
git.rancher.io |
|
8443 TCP |
||||
9443 TCP |
||||
Hosted / Imported Cluster |
443 TCP (4)(5) |
443 TCP (5) |
||
Kubernetes API Clients |
Cluster / Provider Specific (6) |
|||
Workload Client |
Cluster / Provider Specific (7) |
|||
Notes: |
||||
注册集群的端口
|
在 Rancher v2.5 之前,注册集群被称为导入集群。 |
点击展开
下表描述了 注册集群 的端口要求。
| From / To | Rancher Nodes | Hosted / Imported Cluster | External Rancher Load Balancer | Internet |
|---|---|---|---|---|
Rancher Nodes (1) |
80 TCP |
Kubernetes API |
git.rancher.io |
|
8443 TCP |
||||
9443 TCP |
||||
Hosted / Imported Cluster |
443 TCP (4)(5) |
443 TCP (5) |
||
Kubernetes API Clients |
Cluster / Provider Specific (6) |
|||
Workload Client |
Cluster / Provider Specific (7) |
|||
Notes: |
||||
其他端口考虑事项
常用端口
这些端口通常在您的 Kubernetes 节点上打开,无论集群类型如何。
| Protocol | Port | Description |
|---|---|---|
TCP |
22 |
Node driver SSH provisioning |
TCP |
179 |
Calico BGP Port |
TCP |
2376 |
Node driver Docker daemon TLS port |
TCP |
2379 |
etcd client requests |
TCP |
2380 |
etcd peer communication |
UDP |
8472 |
Canal/Flannel VXLAN overlay networking |
UDP |
4789 |
Flannel VXLAN overlay networking on Windows cluster |
TCP |
8443 |
Rancher webhook |
TCP |
9099 |
Canal/Flannel livenessProbe/readinessProbe |
TCP |
9443 |
Rancher webhook |
TCP |
9796 |
Default port required by Monitoring to scrape metrics from Linux and Windows node-exporters |
TCP |
6783 |
Weave Port |
UDP |
6783-6784 |
Weave UDP Ports |
TCP |
10250 |
Metrics server communication with all nodes API |
TCP |
10254 |
Ingress controller livenessProbe/readinessProbe |
TCP/UDP |
30000-32767 |
NodePort port range |
本地节点流量
在上述要求中标记为 local traffic(即 9099 TCP)的端口用于 Kubernetes 健康检查(livenessProbe 和 readinessProbe)。
这些健康检查在节点本身上执行。在大多数云环境中,此本地流量默认是允许的。
但是,当以下情况发生时,这个流量可能会被阻止:
-
您在节点上应用了严格的主机防火墙策略。
-
您正在使用具有多个接口(多宿主)的节点。
在这些情况下,您必须在主机防火墙中显式允许此流量,或者在公共/私有云托管的机器(例如 AWS 或 OpenStack)中,在安全组配置中允许。请记住,当在安全组中将安全组作为源或目标使用时,显式开放端口仅适用于节点/实例的私有接口。
Rancher AWS EC2 安全组
在 Rancher 中使用 AWS EC2 节点驱动程序 来配置集群节点时,您可以选择让 Rancher 创建一个名为 rancher-nodes 的安全组。以下规则会自动添加到此安全组中。
| 类型 | 协议 | 端口范围 | 源/目标 | 规则类型 |
|---|---|---|---|---|
SSH |
TCP |
22 |
0.0.0.0/0 and ::/0 |
入站 |
HTTP |
TCP |
80 |
0.0.0.0/0 and ::/0 |
入站 |
自定义 TCP 规则 |
TCP |
443 |
0.0.0.0/0 and ::/0 |
入站 |
自定义 TCP 规则 |
TCP |
2376 |
0.0.0.0/0 and ::/0 |
入站 |
自定义 TCP 规则 |
TCP |
6443 |
0.0.0.0/0 and ::/0 |
入站 |
自定义 TCP 规则 |
TCP |
179 |
sg-xxx (rancher-nodes) |
入站 |
自定义 TCP 规则 |
TCP |
9345 |
sg-xxx (rancher-nodes) |
入站 |
自定义 TCP 规则 |
TCP |
2379-2380 |
sg-xxx (rancher-nodes) |
入站 |
自定义 TCP 规则 |
TCP |
10250-10252 |
sg-xxx (rancher-nodes) |
入站 |
自定义 TCP 规则 |
TCP |
10256 |
sg-xxx (rancher-nodes) |
入站 |
自定义 UDP 规则 |
UDP |
4789 |
sg-xxx (rancher-nodes) |
入站 |
自定义 UDP 规则 |
UDP |
8472 |
sg-xxx (rancher-nodes) |
入站 |
自定义 TCP 规则 |
TCP |
30000-32767 |
0.0.0.0/0 and ::/0 |
入站 |
自定义 UDP 规则 |
UDP |
30000-32767 |
0.0.0.0/0 and ::/0 |
入站 |
所有流量 |
所有 |
所有 |
0.0.0.0/0 and ::/0 |
出站 |
打开 SUSE Linux 端口
SUSE Linux 可能默认会有一个阻止所有端口的防火墙。要打开将主机添加到自定义集群所需的端口,
-
SLES 15 / openSUSE Leap 15
-
SLES 12 / openSUSE Leap 42
-
通过 SSH 登录到实例。
-
以文本模式启动 YaST:
sudo yast2
-
导航到 安全和用户 > 防火墙 > 区域:公共 > 端口.要在界面内导航,请遵循这些 指示。
-
要打开所需的端口,请将其输入到*TCP 端口*和*UDP 端口*字段中。在此示例中,端口 9796 和 10250 也已打开以进行监控。结果字段应类似如下内容:
TCP Ports 22, 80, 443, 2376, 2379, 2380, 6443, 9099, 9796, 10250, 10254, 30000-32767 UDP Ports 8472, 30000-32767 -
输入所有所需端口后,选择*确定*。
-
通过 SSH 登录到实例。
-
编辑/`etc/sysconfig/SuSEfirewall2`并打开所需的端口。在此示例中,端口 9796 和 10250 也已打开以进行监控:
FW_SERVICES_EXT_TCP="22 80 443 2376 2379 2380 6443 9099 9796 10250 10254 30000:32767" FW_SERVICES_EXT_UDP="8472 30000:32767" FW_ROUTE=yes
-
使用新端口重启防火墙:
SuSEfirewall2
*结果:*节点具有添加到自定义集群所需的开放端口。