Kubernetes Proxmox lxc添加linux.kernel_模块

Kubernetes Proxmox lxc添加linux.kernel_模块,kubernetes,lxc,proxmox,Kubernetes,Lxc,Proxmox,我正在尝试将LXC容器(debian)设置为Kubernetes节点。 到目前为止,唯一的障碍就是kubeadm初始化脚本 错误执行阶段预飞:[预飞]发生了一些致命错误: [错误系统验证]:无法分析内核配置:无法加载内核模块:“configs”,输出:“modprobe:ERROR:../libkmod/libkmod.c:586 kmod\u search\u moddep()无法打开moddep文件'/lib/modules/5.4.44-2-pve/modules.dep.bin'\nmo

我正在尝试将LXC容器(debian)设置为Kubernetes节点。 到目前为止,唯一的障碍就是kubeadm初始化脚本

错误执行阶段预飞:[预飞]发生了一些致命错误:
[错误系统验证]:无法分析内核配置:无法加载内核模块:“configs”,输出:“modprobe:ERROR:../libkmod/libkmod.c:586 kmod\u search\u moddep()无法打开moddep文件'/lib/modules/5.4.44-2-pve/modules.dep.bin'\nmodprobe:FATAL:在目录/lib/modules/5.4.44-2-pve\n中找不到模块配置”,错误:退出状态1
[飞行前]如果您知道自己在做什么,可以使用“---ignore preflight errors=…”进行非致命性检查`
要查看此错误的堆栈跟踪,请使用--v=5或更高值执行
经过一些研究,我发现我可能需要添加以下模块:
linux.kernel\u模块:ip\u表、ip6\u表、netlink\u diag、nf\u nat、overlay
但是把它添加到
/etc/pve/lxc/107.conf
中没有任何作用


有人知道如何添加linux内核模块吗?

我不确定您遵循的指南是什么,但假设主机上有所需的内核模块,这就可以了:

lxc config设置我的容器linux.kernel\u模块覆盖
你也可以跟着。基本上:

lxc配置编辑k3s lxc

config:
内核模块:ip_表、ip6_表、netlink_诊断、nf_nat、覆盖
raw.lxc:lxc.mount.auto=proc:rw sys:rw
security.privileged:“true”
security.nesting:“true”

✌️

要允许使用modprobe加载特权proxmox lxc容器内的任何模块,您需要将以下选项添加到容器配置中:

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:
lxc.mount.auto: proc:rw sys:rw
lxc.mount.entry: /lib/modules lib/modules none bind 0 0

在此之前,您必须首先在容器中创建/lib/modules文件夹

LXCs将在主机内核上运行。您可能希望尝试将这些文件加载到Proxmox主机上。@SYN是的,这确实是可能的,但我发现在容器中运行它们更干净。这给了我一个很好的分离,而且我可以在我的一台服务器上运行多个节点(用于实验室测试)。我也可以在虚拟机上这样做,但是我需要再次安装完整的操作系统…所以我尝试了这个,但是这个命令在proxmox上不起作用。LXC是未知的,我不知道他们是如何在proxmox上实现LXC的。你能看到那里的LXC版本吗?proxmox不知道LCX命令,所以我不知道他们是如何实现的。但是经过很多尝试,我只打算使用虚拟机。也许将来会有人发现的