跳至主要内容

Rancher 管理叢集的節點需求

本頁面描述了 Rancher 管理的 Kubernetes 叢集的需求,您的應用程式和服務將安裝在這些叢集上。這些下游叢集應該與執行 Rancher 的三節點叢集分開。

備註

如果 Rancher 安裝在高可用性 Kubernetes 叢集上,Rancher 伺服器三節點叢集和下游叢集有不同的需求。有關 Rancher 安裝需求,請參閱安裝部分中的節點需求。

作業系統和容器執行階段需求​

Rancher 應該可以與任何現代 Linux 發行版和任何現代 Docker 版本配合使用。所有下游叢集的 etcd 和 controlplane 節點都需要 Linux。Worker 節點可以執行 Linux 或 Windows Server。

有關每個 Rancher 版本測試了哪些作業系統和 Docker 版本的詳細資訊,請參閱支援維護條款。

所有支援的作業系統都是 64 位元 x86。

如果您計畫使用 ARM64,請參閱在 ARM64 上執行(實驗性)。

有關如何安裝 Docker 的資訊,請參閱官方 Docker 文件。

Oracle Linux 和 RHEL 衍生的 Linux 節點​

一些從 RHEL 衍生的 Linux 發行版,包括 Oracle Linux,可能有預設的防火牆規則阻止與 Helm 的通訊。我們建議停用 firewalld。對於 Kubernetes 1.19,必須關閉 firewalld。

備註

在 RHEL 8.4 中,NetworkManager 包含兩個額外的服務:nm-cloud-setup.service 和 nm-cloud-setup.timer。這些服務新增了一個路由表,會干擾 CNI 外掛程式的設定。如果啟用了這些服務,您必須使用以下命令停用它們,然後重新啟動節點以恢復連線:

systemctl disable nm-cloud-setup.service nm-cloud-setup.timer
reboot

SUSE Linux 節點​

SUSE Linux 可能有預設阻止所有連接埠的防火牆。在這種情況下,請遵循這些步驟來開啟將主機新增到自訂叢集所需的連接埠。

Flatcar Container Linux 節點​

當使用 Flatcar Container Linux 節點使用 Rancher 啟動 Kubernetes 時,需要在叢集設定檔中使用以下設定:

rancher_kubernetes_engine_config:
network:
plugin: canal
options:
canal_flex_volume_plugin_dir: /opt/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds
flannel_backend_type: vxlan

services:
kube-controller:
extra_args:
flex-volume-plugin-dir: /opt/kubernetes/kubelet-plugins/volume/exec/

還需要啟用 Docker 服務,您可以使用以下命令啟用 Docker 服務:

systemctl enable docker.service

使用節點驅動程式時,Docker 服務會自動啟用。

Windows 節點​

具有 Windows Server 的節點必須執行 Docker Enterprise Edition。

Windows 節點只能用作 worker 節點。請參閱為 Windows 設定自訂叢集。

硬體需求​

具有 worker 角色的節點的硬體需求主要取決於您的工作負載。執行 Kubernetes 節點元件的最低需求是 1 個 CPU(核心)和 1GB 記憶體。

關於 CPU 和記憶體,建議 Kubernetes 叢集的不同平面(etcd、controlplane 和 workers)應該託管在不同的節點上,以便它們可以彼此獨立擴展。

有關大型 Kubernetes 叢集的硬體建議,請參閱官方 Kubernetes 文件中關於建構大型叢集的內容。

有關生產環境中 etcd 叢集的硬體建議,請參閱官方 etcd 文件。

網路需求​

對於生產叢集,我們建議您僅開啟以下連接埠需求中定義的連接埠來限制流量。

所需開啟的連接埠取決於使用者叢集的啟動方式。以下每個部分都列出了不同叢集建立選項所需開啟的連接埠。

有關 Kubernetes 叢集中 etcd 節點、controlplane 節點和 worker 節點的連接埠需求細分,請參閱 Rancher Kubernetes Engine 的連接埠需求。

有關每種情況下使用哪些連接埠的詳細資訊,請參閱下游叢集連接埠需求。

IPv6 位址需求​

Rancher 支援使用 IPv4 專用、IPv6 專用或雙堆疊網路設定的叢集。

您必須根據叢集網路設定,為每個節點佈建至少一個有效的 IPv4 位址、一個 IPv6 位址或兩者。

對於僅 IPv6 的環境,請確保正確設定作業系統,並且 /etc/hosts 檔案包含有效的 localhost 條目,例如:

::1       localhost
警告

您永遠不應該使用與現有節點相同的主機名稱或 IP 位址來註冊節點。這樣做會導致 RKE 阻止節點加入,並且佈建會掛起。這對於節點驅動程式和自訂叢集都會發生。如果節點必須重複使用現有節點的主機名稱或 IP,您必須在註冊節點之前設定 hostname_override RKE 選項,以便它可以正確加入。

選用:安全考量​

如果您想要佈建符合 CIS(網際網路安全中心)Kubernetes 基準的 Kubernetes 叢集,我們建議在安裝 Kubernetes 之前遵循我們的強化指南來設定您的節點。

有關強化指南的更多資訊以及哪個版本的指南對應您的 Rancher 和 Kubernetes 版本的詳細資訊,請參閱安全部分。