本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

SUSE Rancher Prime 管理的集群的节点要求

本页面描述了 Rancher 管理的 Kubernetes 集群的要求,您的应用和服务将安装在这些集群中。这些下游集群应与运行 Rancher 的三节点集群分开。

如果 Rancher 安装在高可用性 Kubernetes 集群上,Rancher 服务器三节点集群和下游集群的要求是不同的。有关 Rancher 安装要求,请参阅 安装部分中的节点要求。

操作系统和容器运行时要求

Rancher 应与任何现代 Linux 发行套件和任何现代 Docker 版本兼容。所有下游集群的 etcd 和 controlplane 节点都需要 Linux。工作节点可以运行 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.servicenm-cloud-setup.timer。这些服务添加的路由表会干扰 CNI 插件的配置。如果启用了这些服务,您必须使用以下命令禁用它们,然后重启节点以恢复连接:

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

SUSE Linux 节点

SUSE Linux 可能默认会有一个阻止所有端口的防火墙。在这种情况下,请按照这些步骤打开添加主机到自定义集群所需的端口。

Flatcar容器Linux节点

当使用 Flatcar 容器 Linux 节点 启动 Kubernetes 与 Rancher 时,需要在集群配置文件中使用以下配置。

  • 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 企业版。

Windows节点仅可用作工作节点。请参见 为 Windows 配置自定义集群

硬件要求

具有`worker`角色的节点的硬件要求主要取决于您的工作负载。运行 Kubernetes 节点组件的最低要求是 1 个 CPU(内核)和 1GB 内存。

关于 CPU 和内存,建议 Kubernetes 集群的不同平面(etcd、控制平面和工作节点)应托管在不同的节点上,以便它们可以独立扩展。

有关大型 Kubernetes 集群的硬件建议,请参阅官方 Kubernetes 文档中的 构建大型集群。

有关生产环境中 etcd 集群的硬件建议,请参阅官方 etcd 文档。

网络要求

对于生产集群,我们建议通过仅打开下面端口要求中定义的端口来限制流量。

所需打开的端口因用户集群的启动方式而异。以下每个部分列出了不同的 集群创建选项所需打开的端口。

有关 Kubernetes 集群中 etcd 节点、控制平面节点和工作节点的端口要求的详细信息,请参阅 Rancher Kubernetes 引擎的端口要求。

每种情况使用的端口的详细信息可以在下游集群端口要求中找到。

IPv6 地址要求

Rancher 支持配置为仅 IPv4、仅 IPv6 或双栈网络的集群。

您必须根据集群网络配置为每个节点提供至少一个有效的 IPv4 地址、一个 IPv6 地址或两者。

对于仅 IPv6 的环境,请确保正确配置操作系统,并且 /etc/hosts 文件包含有效的 localhost 条目,例如:

::1       localhost

您绝不应使用与现有节点相同的主机名或 IP 地址注册节点。这样会导致 RKE 阻止节点加入,并使配置挂起。这可能发生在节点驱动程序和自定义集群中。如果节点必须重用现有节点的主机名或 IP,您必须在注册节点之前设置 hostname_override RKE 选项,以便它可以正确加入。

可选:安全考虑

如果您想配置符合 CIS(互联网安全中心)Kubernetes 基准的 Kubernetes 集群,我们建议您在安装 Kubernetes 之前遵循我们的安全强化指南来配置节点。

有关安全强化指南的更多信息以及与您的 Rancher 和 Kubernetes 版本对应的指南版本的详细信息,请参阅 安全部分。