在lxc容器中的kubernetes群集中创建主节点时出错

在lxc容器中的kubernetes群集中创建主节点时出错,kubernetes,Kubernetes,我正在使用lxc容器设置kubernetes群集,同时使用kubeadm init配置主节点,它显示以下错误:- kubeadm init --apiserver-advertise-address=10.102.126.160 --pod-network-cidr=192.168.0.0/16 [init] Using Kubernetes version: v1.13.1 [preflight] Running pre-flight checks [preflight] The system

我正在使用lxc容器设置kubernetes群集,同时使用kubeadm init配置主节点,它显示以下错误:-

kubeadm init --apiserver-advertise-address=10.102.126.160 --pod-network-cidr=192.168.0.0/16
[init] Using Kubernetes version: v1.13.1
[preflight] Running pre-flight checks
[preflight] The system verification failed. Printing the output from the verification:
KERNEL_VERSION: 4.15.0-43-generic
DOCKER_VERSION: 18.06.1-ce
DOCKER_GRAPH_DRIVER: overlay2
OS: Linux
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
error execution phase preflight: [preflight] Some fatal errors occurred:
    [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist
    [ERROR Swap]: running with swap on is not supported. Please disable swap
    [ERROR SystemVerification]: failed to parse kernel config: unable to load kernel module: "configs", output: "modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.15.0-43-generic/modules.dep.bin'\nmodprobe: FATAL: Module configs not found in directory /lib/modules/4.15.0-43-generic\n", err: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

谁能帮我解决这个问题。

要在
lxc容器中运行kubernetes
您需要先进行一些配置,比如lxc容器中没有
内核模块,所以您需要使用docker的
overlay
驱动程序。此外,您的交换已打开,您需要使用
swapoff-a
禁用它。在使用kubeadm安装kubernetes群集之前,您需要进行许多这样的配置

下面是一个非常好的博客,解释lxc容器中的逐步配置:


要在
lxc容器中运行kubernetes
您需要先进行一些配置,就像lxc容器中没有
内核模块一样,所以您需要为docker使用
overlay
驱动程序。此外,您的交换已打开,您需要使用
swapoff-a
禁用它。在使用kubeadm安装kubernetes群集之前,您需要进行许多这样的配置

下面是一个非常好的博客,解释lxc容器中的逐步配置:


是的,正如@Prafull Ladha已经说过的,您必须使用一些配置创建lxc容器:

  • 禁用交换
  • 为docker使用overlay2驱动程序
  • 将容器作为特权运行
您可以在这个lxc中看到创建容器时应该传递的所有内容

lxc发布图片:ubuntu/16.04 CONTAINER\u NAME——profile\u NAME

但是您的大问题是将Kubelet运行到lxc容器中。Kubelet日志将显示如下内容:

failed to start OOM watcher open /dev/kmsg: no such file or directory
如果出现此错误,您应该进行一些修改,因为默认情况下不会创建
/dev/kmsg
字符设备。您可以使用以下命令创建此设备:

mknod/dev/kmsg c 1 11


可能需要更新内核映像。对于ubuntu 16.04,您可以在这些中完成整个过程。是的,正如@Prafull Ladha所说,您必须使用一些配置创建lxc容器:

  • 禁用交换
  • 为docker使用overlay2驱动程序
  • 将容器作为特权运行
您可以在这个lxc中看到创建容器时应该传递的所有内容

lxc发布图片:ubuntu/16.04 CONTAINER\u NAME——profile\u NAME

但是您的大问题是将Kubelet运行到lxc容器中。Kubelet日志将显示如下内容:

failed to start OOM watcher open /dev/kmsg: no such file or directory
如果出现此错误,您应该进行一些修改,因为默认情况下不会创建
/dev/kmsg
字符设备。您可以使用以下命令创建此设备:

mknod/dev/kmsg c 1 11

可能需要更新内核映像。对于ubuntu 16.04,您可以在这些中完成整个过程