隔离安装

要在隔离的环境中安装 SUSE® Rancher Prime: RKE2,您必须首先将镜像加载到隔离环境中,然后安装RKE2。

您可以使用在Prime Artifacts URL上列出的任何RKE2 Prime版本来获取这些步骤中提到的资产。要了解有关 Prime Artifacts URL 的更多信息,请参阅我们的 仅限 Prime 的文档。需要身份验证。使用您的 SUSE 客户中心 (SCC) 凭据登录。

先决条件

在继续之前,请确保您根据环境满足以下先决条件。此页面上列出的所有步骤必须以 root 用户身份运行,或通过 sudo 来运行。

如果您的节点安装并启用了 NetworkManager,请确保您配置 NetworkManager 来忽略 CNI 管理的接口

  • 如果在启用了 SELinux 的隔离节点上运行,您必须在执行这些步骤之前手动安装必要的 SELinux 策略 RPM。请参阅我们的 RPM 文档 以确定您需要什么。

  • 如果在启用了 SELinux 的隔离节点上运行,当执行 RPM 安装 时,SLES、CentOS 或 RHEL 8 的必需依赖项如下:container-selinux iptables libnetfilter_conntrack libnfnetlink libnftnl policycoreutils-python-utils rke2-common rke2-selinux

  • 如果您的节点没有具有默认路由的接口,则必须配置默认路由;即使是通过虚拟接口的黑洞路由也可以。 RKE2 需要默认路由来自动检测节点的主 IP,并确保 kube-proxy 的 ClusterIP 路由正常工作。要添加虚拟路由,请执行以下操作:

    ip link add dummy0 type dummy
    ip link set dummy0 up
    ip addr add 203.0.113.254/31 dev dummy0
    ip route add default via 203.0.113.255 dev dummy0 metric 1000

    The example uses 203.0.113.0/24, which is TEST-NET-3 (reserved for documentation by RFC 5737). Any range will work as long as it does not overlap with the cluster CIDR, the service CIDR or any other network reachable from the node.

    Note that the commands above apply only to the running system and will be lost on reboot. To make the configuration persistent, configure the dummy interface and default route through your distribution’s network management system (such as systemd-networkd, NetworkManager, or netplan), or via a systemd oneshot unit ordered Before=rke2-server.service and Before=rke2-agent.service. The default route must be in place before RKE2 starts.

    Once configured, confirm the default route is present with ip route show default. After RKE2 starts, confirm the node’s primary IP was detected correctly with kubectl get nodes -o wide.

1.加载镜像

加载镜像有两种不同的方法。每种镜像加载方法有不同的要求,适用于不同的隔离场景。选择最适合您基础设施和安全要求的方法。

压缩包方法

  1. Prime Artifacts URL 下载针对您所使用的 RKE2 版本、CNI 以及平台的隔离镜像压缩包。

    • rke2-images.linux-<ARCH>.tar.zst,或 rke2-images-core.linux-<ARCH>.tar.gz。此压缩包包含 RKE2 Prime 正常运行所需的核心容器镜像。与 gzip 相比,Zstandard 提供了更好的压缩比和更快的解压速度。

    • rke2-images-<CNI>.linux-<ARCH>.tar.gz:此压缩包专门包含用于您的容器网络接口(CNI)的容器镜像。RKE2 中的默认 CNI 是 Canal。

      • 如果您使用默认 CNI Canal(--cni=canal),您可以使用上述描述的 rke2-image 旧版归档,或者使用 rke2-images-corerke2-images-canal 归档。

      • 如果您使用替代 CNI Cilium(--cni=cilium),您必须下载 rke2-images-corerke2-images-cilium 归档。

      • 如果使用您自己的 CNI(--cni=none),请仅下载 rke2-images-core 归档。

    • 如果启用 vSphere CPI/CSI 图表(--cloud-provider-name=rancher-vsphere),您还必须下载 rke2-images-vsphere 归档。

  2. 在节点上创建一个名为 /rke2-artifacts 的目录,并将之前下载的文件保存在那里。

  3. 安装 RKE2

私有注册表方法

私有注册表支持遵循来自 containerd 注册表配置 的所有设置,包括端点覆盖、传输协议(HTTP/HTTPS)、身份验证、证书验证等。

  1. 将所有必需的系统镜像添加到您的私有注册表。可以从与上述每个 tarball 对应的 .txt 文件中获取镜像列表。或者,您可以 docker load 空隙镜像 tarball,然后标记并推送加载的镜像。

  2. 使用 system-default-registry 参数 安装 RKE2,或使用 containerd 注册表配置 将您的注册表用作 docker.io 的镜像。

2.安装 RKE2

安装 RKE2 的以下选项应仅在完成 [Tarball Method][Private Registry Method] 之后执行。

RKE2 可以通过直接运行 二进制文件 或使用 install.sh 脚本 来安装。

RKE2 二进制安装

  1. 获取 RKE2 二进制文件 rke2.linux-<ARCH>.tar.gz

  2. 确保二进制文件命名为 rke2 并放置在 /usr/local/bin 中。确保它是可执行的。

  3. 使用所需的参数运行二进制文件。

    • 如果您使用的是 Rancher Prime 注册表,请在 config.yaml 中设置以下值:

      1. 设置 system-default-registry: registry.rancher.com

      2. 如果您不使用默认 CNI Canal,请设置 cni: <CNI>

        system-default-registry: registry.rancher.com
        cni: <CNI>
    • 如果使用私有注册表方法,请在 config.yaml 中设置以下值:

      system-default-registry: "registry.example.com:5000"

      system-default-registry 参数必须仅指定有效的 RFC 3986 URI,即主机和可选端口。

RKE2 Install.sh Script Install

install.sh 通过将 INSTALL_RKE2_ARTIFACT_PATH 变量设置为包含预下载工件的路径,可以在离线模式下使用。这将通过标准安装,包括创建 systemd 单元。

  1. Prime Artifacts URL下载安装脚本、RKE2 二进制文件、RKE2 镜像和 SHA256 校验和归档到 /rke2-artifacts 目录,如下面的示例所示:

    mkdir /rke2-artifacts && cd /rke2-artifacts/
    curl -OLs <PRIME-ARTIFACTS-URL>/rke2/<VERSION>/rke2-images.linux-<ARCH>.tar.zst
    curl -OLs <PRIME-ARTIFACTS-URL>/rke2/<VERSION>/rke2.linux-<ARCH>.tar.gz
    curl -OLs <PRIME-ARTIFACTS-URL>/rke2/<VERSION>/sha256sum-<ARCH>.txt
    curl -sfL https://get.rke2.io --output install.sh
  2. 如下面的示例所示,使用该目录运行 install.sh

    INSTALL_RKE2_ARTIFACT_PATH=/rke2-artifacts sh install.sh
  3. 如果您使用的是 Rancher Prime 注册表,请在 config.yaml 中设置以下值:

    1. 设置 system-default-registry: registry.rancher.com

    2. 如果您不使用默认 CNI Canal,请设置 cni: <CNI>

      system-default-registry: registry.rancher.com
      cni: <CNI>
  4. 按照这里所述启用并运行服务。