連接埠需求
為了正常運作,Rancher 需要在 Rancher 節點和下游 Kubernetes 叢集節點上開啟許多連接埠。
Rancher 節點
下表列出了執行 Rancher server 的節點需要開啟的連接埠(進出)。
連接埠需求因 Rancher server 架構而異。
Rancher 可以安裝在任何 Kubernetes 叢集上。對於在 K3s 或 RKE2 Kubernetes 叢集上安裝 Rancher,請參閱下面的標籤。對於其他 Kubernetes 發行版,請參閱該發行版的文件以了解叢集節點的連接埠需求。
- Rancher 節點可能還需要額外的出站存取權限,以連線到配置的任何外部認證提供者(例如 LDAP)。
- Kubernetes 建議 TCP 30000-32767 用於 node port 服務。
- 對於防火牆,可能需要在叢集和 Pod CIDR 內啟用流量。
- Rancher 節點可能還需要出站存取權限,以連線到用於儲存叢集備份的外部 S3 位置(例如 Minio)。
K3s 上 Rancher Server 節點的連接埠
點擊展開
K3s server 需要連接埠 6443 可被節點存取。
當使用 Flannel VXLAN 時,節點需要能夠透過 UDP 連接埠 8472 連線到其他節點。節點不應該監聽任何其他連接埠。K3s 使用反向隧道,使節點對伺服器進行出站連線,所有 kubelet 流量都透過該隧道執行。然而,如果你不使用 Flannel 並提供自己的自訂 CNI,則 K3s 不需要連接埠 8472。
如果你希望使用 metrics server,則需要在每個節點上開啟連接埠 10250。
節點上的 VXLAN 連接埠不應該暴露給外界,因為它會讓任何人都可以存取你的叢集網路。在防火牆/安全群組後面執行你的節點,以停用對連接埠 8472 的存取。
下表列出了入站和出站流量的連接埠需求:
| 協定 | 連接埠 | 來源 | 說明 |
|---|---|---|---|
| TCP | 80 | 執行外部 SSL 終止的負載平衡器/代理 | 使用外部 SSL 終 止時的 Rancher UI/API |
| TCP | 443 |
| Rancher agent、Rancher UI/API、kubectl |
| TCP | 6443 | K3s server 節點 | Kubernetes API |
| UDP | 8472 | K3s server 和 agent 節點 | 僅當使用 Flannel VXLAN 時需要。 |
| TCP | 10250 | K3s server 和 agent 節點 | kubelet |
| 協定 | 連接埠 | 目的地 | 說明 |
|---|---|---|---|
| TCP | 22 | 使用 Node Driver 建立的任何節點 IP | 使用 Node Driver 進行節點的 SSH 佈建 |
| TCP | 443 | git.rancher.io | Rancher 目錄 |
| TCP | 2376 | 使用 Node driver 建立的任何節點 IP | Docker Machine 使用的 Docker daemon TLS 連接埠 |
| TCP | 6443 | 託管/匯入的 Kubernetes API | Kubernetes API server |
RKE2 上 Rancher Server 節點的連接埠
點擊展開
RKE2 server 需要連接埠 6443 和 9345 可被叢集中的其他節點存取。
當使用 Flannel VXLAN 時,所有節點都需要能夠透過 UDP 連接埠 8472 連線到其他節點。
如果你希望使用 metrics server,則需要在每個節點上 開啟連接埠 10250。
節點上的 VXLAN 連接埠不應該暴露給外界,因為它會讓任何人都可以存取你的叢集網路。在防火牆/安全群組後面執行你的節點,以停用對連接埠 8472 的存取。
| 協定 | 連接埠 | 來源 | 說明 |
|---|---|---|---|
| TCP | 9345 | RKE2 server 和 agent 節點 | 節點註冊。連接埠應該在所有 server 節點上對叢集中的所有其他節點開放。 |
| TCP | 6443 | RKE2 agent 節點 | Kubernetes API |
| UDP | 8472 | RKE2 server 和 agent 節點 | 僅當使用 Flannel VXLAN 時需要 |
| TCP | 10250 | RKE2 server 和 agent 節點 | kubelet |
| TCP | 2379 | RKE2 server 節點 | etcd 用戶端連接埠 |
| TCP | 2380 | RKE2 server 節點 | etcd 對等連接埠 |
| TCP | 30000-32767 | RKE2 server 和 agent 節點 | NodePort 連接埠範圍。可以使用 TCP 或 UDP。 |
| TCP | 5473 | Calico-node Pod 連線到 typha Pod | 使用 Calico 部署時需要 |
| HTTP | 80 | 執行外部 SSL 終止的負載平衡器/代理 | 使用外部 SSL 終止時的 Rancher UI/API |
| HTTPS | 443 |
| Rancher agent、Rancher UI/API、kubectl。如果你有負載平衡器執行 TLS 終止,則不需要。 |
通常允許所有出站流量。
Docker 中 Rancher Server 的連接埠
點擊展開
下表列出了 Rancher 節點的連接埠需求,包括入站和出站流量:
| 協定 | 連接埠 | 來源 | 說明 |
|---|---|---|---|
| TCP | 80 | 執行外部 SSL 終止的負載平衡器/代理 | 使用外部 SSL 終止時的 Rancher UI/API |
| TCP | 443 |
| Rancher agent、Rancher UI/API、kubectl |
| 協定 | 連接埠 | 來源 | 說明 |
|---|---|---|---|
| TCP | 22 | 使用 Node Driver 建立的任何節點 IP | 使用 Node Driver 進行節點的 SSH 佈建 |
| TCP | 443 | git.rancher.io | Rancher 目錄 |
| TCP | 2376 | 使用 Node driver 建立的任何節點 IP | Docker Machine 使用的 Docker daemon TLS 連接埠 |
| TCP | 6443 | 託管/匯入的 Kubernetes API | Kubernetes API server |
下游 Kubernetes 叢集節點
下游 Kubernetes 叢集執行你的應用程式和服務。本節描述需要在下游叢集的節點上開啟哪些連接埠,以便 Rancher 可以與它們通訊。
連接埠需求因下游叢集的啟動方式而異。下面的每個標籤都列出了不同叢集類型需要開啟的連接埠。
下圖描繪了每種叢集類型開啟的連接埠。
如果安全性不是主要問題,並且你可以開啟一些額外的連接埠,你可以使用常用連接埠表格作為連接埠參考,而不是下面的詳細表格。
Harvester 叢集的連接埠
有關 Harvester 連接埠需求的更多資訊,請參閱 Harvester 整合概述。
使用節點池啟動的 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 (nodeport) | |||||
| 80 TCP (Ingress) | ||||||
| 443 TCP (Ingress) | ||||||
| Notes: 1. Nodes running standalone server or Rancher HA deployment. 2. Required to fetch Rancher chart library. 3. Only without external load balancer in front of Rancher. 4. Local traffic to the node itself (not across nodes). 5. Only if Authorized Cluster Endpoints are activated. | ||||||
使用自訂節點啟動的 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 (nodeport) | |||||
| 80 TCP (Ingress) | ||||||
| 443 TCP (Ingress) | ||||||
| Notes: 1. Nodes running standalone server or Rancher HA deployment. 2. Required to fetch Rancher chart library. 3. Only without external load balancer in front of Rancher. 4. Local traffic to the node itself (not across nodes), if you've enabled optional features such as Rancher Monitoring. 5. Only if Authorized Cluster Endpoints are activated. 6. Only if using Overlay mode on Windows cluster. | ||||||
託管 Kubernetes 叢集的連接埠
點擊展開
下表描繪了託管叢集的連接埠需求。
| From / To | Rancher Nodes | Hosted / Imported Cluster | External Rancher Load Balancer | Internet |
|---|---|---|---|---|
| Rancher Nodes (1) | 80 TCP | Kubernetes API Endpoint Port (2) | 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: 1. Nodes running standalone server or Rancher HA deployment. 2. Only for hosted clusters. 3. Required to fetch Rancher chart library. 4. Only without external load balancer. 5. From worker nodes. 6. For direct access to the Kubernetes API without Rancher. 7. Usually Ingress backed by infrastructure load balancer and/or nodeport. | ||||