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 時,需要在叢集設定檔中使用以下設定:
- Canal
- Calico
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/
rancher_kubernetes_engine_config:
network:
plugin: calico
options:
calico_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 版本的詳細資訊,請參閱安全部分。