下表列出了运行 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 节点的入站规则

通常情况下,可以允许全部出站流量。

协议端口描述
TCP80负载均衡或反向代理到 Rancher UI/API 的 HTTP 流量
TCP443
  • 负载均衡或反向代理
  • 所有集群节点的 IP 和其他 API/UI 客户端
到 Rancher UI/API 的 HTTPS 流量

Rancher 节点的出站规则

Rancher 节点的入站规则

协议端口描述
TCP80在外部进行 TLS 终止的负载均衡或反向代理使用外部 TLS 终止时的 Rancher UI/API
TCP443
  • 所有需要使用 API/UI 的源
Rancher agent,Rancher UI/API,kubectl

Rancher 节点的出站规则

下游 Kubernetes 集群可运行您的业务应用。本节介绍需要在下游集群中的节点上开放哪些端口,以便 Rancher 可以与它们进行通信。

集群节点需要开放的端口会根据集群的启动方式而变化。下面列出了需要为不同集群创建类型开放的端口。

下表描述了在中创建节点用于Rancher启动Kubernetes的端口需求。

import PortsIaasNodes from ‘@theme/PortsIaasNodes’;

自定义节点的端口要求

下表描述了带有的RKE 集群的端口要求。

import PortsCustomNodes from ‘@theme/PortsCustomNodes’;

下表描述了的端口要求。

import PortsImportedHosted from ‘@theme/PortsImportedHosted’;

导入集群的端口要求

下表描述了导入集群的端口要求。

通常情况下,可以将这些端口在 Kubernetes 节点上开放,无论它是哪种类型的集群。

协议端口描述
TCP22使用主机驱动通过 SSH 进行节点配置
TCP2376主机驱动与 Docker 守护进程通信的 TLS 端口
TCP2379etcd 客户端请求
TCP2380etcd 节点通信
UDP8472Canal/Flannel VXLAN overlay 网络
UDP4789Windows 集群中 Flannel VXLAN overlay 网络
TCP9099Canal/Flannel 健康检查
TCP9796集群监控拉取节点指标的默认端口(仅需要内网可达)
TCP6783Weave 端口
UDP6783-6784Weave UDP 端口
TCP10250kubelet API
TCP10254Ingress controller 健康检查
TCP/UDP30000-32767NodePort 端口范围

本地节点流量

标记为(即: 9099 TCP)的端口用于 Kubernetes 健康检查(livenessProbereadinessProbe)。这些健康检查在节点本身上执行。在大多数云环境中,默认情况下会允许此本地流量。

但是在以下情况下,此流量可能会被阻止:

  • 您已在节点上应用了严格的主机防火墙策略。

在使用在 Rancher 中配置集群节点时,您可以选择让 Rancher 创建一个名为 rancher-nodes 的安全组。以下规则将自动添加到此安全组。