Rancher v2.8.3 使用问题记录

前面的 KubeVirt 所在的集群,为了实验外部网络和使用特定网络进行 VM 迁移,安装了 Multus ,但出现了点意外,Multus 网络没有就绪的情况下,集群重启导致所有 Pod 处于 unkown 的状态。

尝试着卸载 Mutus 进行还原,呃…

还是考虑重新安装 K8S 吧,但从头安装实在是复杂,趁这个机会找一找能快速部署 K8S 的发行版本吧。

最终选定的了 Rancher,因为它非常方便的部署集群,并提供了我所需要的 Multus 网络:

但在部署和安装集群时还是遇到了一些问题,在此记录一下。

安装 Rancher 遇到的问题

根据官网提供的 Docker 方式进行部署,在 Rancher 容器启动后,发现管理 Web 页面迟迟打不开,查看容器日志发现内部的 k3s 没有就绪,无法访问 api 地址。

解决办法是加载所需的模块:

modprobe iptable_filter
modprobe iptable_nat
modprobe iptable_mangle

为了能够重启后依旧生效,可以写入到 /etc/modules-load.d/rancher.conf 中:

iptable_filter
iptable_nat
iptable_mangle

然后对容器进行重启稍等几分钟后,就可以正常访问了。

容器运行时代理的问题

因为有些镜像国内网络无法访问,配置代理是最简单的方式了,通过 Rancher 部署的集群是 RKE2,使用的 Container Runtime 是 containerd 但不是通过 systemd 单元文件运行的。

添加针对容器运行时的代理,需要在 /etc/default/rke2-server/etc/default/rke2-agent 文件中添加以下变量:

CONTAINERD_HTTP_PROXY=http://192.168.121.1:7890
CONTAINERD_HTTPS_PROXY=http://192.168.121.1:7890
CONTAINERD_NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

KubeVirt virt-handler Error

在部署 KubeVirt 时,在每个节点上运行的 virt-handler Pod 处于失败的状态,日志显示为:

failed to install policy /var/run/kubevirt/virt_launcher.cil - out: "Failed to resolve typeattributeset statement at /var/lib/selinux/targeted/tmp/modules/400/virt_launcher/cil:15\nFailed to resolve AST\n/sbin/semodule:  Failed!\n", error: exit status 1

解决方法是在每个节点上安装 container-selinux 软件包:

sudo dnf install -y container-selinux.noarch

部署完 Rook 和 KubeVirt 后,很方便在 Rancher 中查看:

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部