使用 Rancher 和 RKE 与 MicroOS 和 Kubic

2021 年 2 月 8 日 | Thorsten Kukuk | 无许可

简介

自从 SUSE 收购了 Rancher Labs,现在是时候解释如何在 MicroOS 上运行 Rancher 以及如何导入 Kubic 集群了。

我使用了 Rancher 2.5.5,更新的版本可能具有不同的要求。

Rancher 与 MicroOS

好消息是:Rancher 在 MicroOS 上开箱即用。

必要的步骤是

  1. 安装 MicroOS 作为基础操作系统(不需要容器主机系统角色)
  2. 安装 docker: transactional-update pkg install docker
  3. 重启: systemctl reboot
  4. 启用并启动 docker: systemctl enable --now docker

从这里您可以遵循标准的 Rancher 文档 并安装 Rancher: docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher

Rancher 与 RKE 和 MicroOS

Rancher 提供了使用 RKE 在现有运行的操作系统上设置新的 Kubernetes 集群的可能性。本节解释了如何使用 MicroOS 作为宿主机操作系统来做到这一点。

虽然通常情况下,RKE 在 MicroOS 上运行良好,但可能存在两个陷阱

  1. MicroOS 使用只读根文件系统,而 RKE 试图写入 /usr/libexec/kubernetes
  2. Rancher 报告一个错误,即 API 无法访问。

第二个问题很可能是 docker 的问题。我建议从 openSUSE MicroOS Build 20210205 或更新版本开始,我从未在随此版本引入的 docker 20.10.3ce 中遇到过此问题。在我的例子中,错误消息的原因是 IP 转发没有被 docker 完全启用。请确保为所有设备启用 IP 转发

# sysctl -a |grep \\.forward
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.docker0.forwarding = 1
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.lo.forwarding = 1

以下是在 MicroOS 上进行设置的步骤

  1. 安装 MicroOS 作为基础操作系统(不需要容器主机系统角色)
  2. 安装 docker: transactional-update pkg install docker
  3. 重启: systemctl reboot
  4. 启用并启动 docker: systemctl enable --now docker

在 Rancher GUI 中选择“现有节点”或“使用 RKE 和现有裸机服务器或虚拟机创建新的 Kubernetes 集群”,并遵循 Flatcar Container Linux 的文档。

Rancher 与 Kubic

导入 openSUSE Kubic 集群可以很简单或困难,具体取决于您的集群运行的 Kubernetes 版本。openSUSE Kubic 目前默认使用 kuberenetes 1.20.2。Rancher 仅适用于 Kubernetes 1.19.7 及更低版本,目前不适用于 1.20.2。因此,如果您尚未将集群更新到 1.20.x,则可以转到 注册现有 Kubernetes 集群,选择 其他集群 并按照工作流程进行操作。

最后,Rancher 会出现两个错误

  1. 警告:组件 controller-manager 状态不正常。
  2. 警告:组件 scheduler 状态不正常。

您可以忽略这些错误:Rancher 使用已弃用的接口,kubeadm 默认情况下会禁用该接口。

类别: 博客

标签

分享这篇文章