使用 Rancher 和 RKE 与 MicroOS 和 Kubic
2021 年 2 月 8 日 | Thorsten Kukuk | 无许可
简介
自从 SUSE 收购了 Rancher Labs,现在是时候解释如何在 MicroOS 上运行 Rancher 以及如何导入 Kubic 集群了。
我使用了 Rancher 2.5.5,更新的版本可能具有不同的要求。
Rancher 与 MicroOS
好消息是:Rancher 在 MicroOS 上开箱即用。
必要的步骤是
- 安装 MicroOS 作为基础操作系统(不需要容器主机系统角色)
- 安装 docker:
transactional-update pkg install docker - 重启:
systemctl reboot - 启用并启动 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 上运行良好,但可能存在两个陷阱
- MicroOS 使用只读根文件系统,而 RKE 试图写入 /usr/libexec/kubernetes
- 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 上进行设置的步骤
- 安装 MicroOS 作为基础操作系统(不需要容器主机系统角色)
- 安装 docker:
transactional-update pkg install docker - 重启:
systemctl reboot - 启用并启动 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 会出现两个错误
- 警告:组件 controller-manager 状态不正常。
- 警告:组件 scheduler 状态不正常。
您可以忽略这些错误:Rancher 使用已弃用的接口,kubeadm 默认情况下会禁用该接口。
类别: 博客
标签