cat /proc/sys/net/bridge/bridge-nf-call-iptables
sysctl vm.swappiness=0
swapoff -a
The first time I tried to get this working, once the cluster was up, the traefik pods were in CrashloopBackoff due to ip_forwarding being disabled. Since LXC containers share the host's kernel, we need to enable this on the host.
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl --system
Edit the config file for the container (/etc/pve/lxc/$ID.conf
) and add the following:
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:
lxc.mount.auto: "proc:rw sys:rw"
/etc/rc.local doesn't exist in the default 20.04 LXC template provided by Rroxmox. Create it with these contents:
#!/bin/sh -e
# Kubeadm 1.15 needs /dev/kmsg to be there, but it's not in lxc, but we can just use /dev/console instead
# see: https://github.com/kubernetes-sigs/kind/issues/662
if [ ! -e /dev/kmsg ]; then
ln -s /dev/console /dev/kmsg
fi
# https://medium.com/@kvaps/run-kubernetes-in-lxc-container-f04aa94b6c9c
mount --make-rshared /
Then run this:
chmod +x /etc/rc.local
reboot
Assuming $HOME/bin is in your PATH:
curl -sLS https://get.k3sup.dev | sh
mv k3sup ~/bin/k3sup && chmod +x ~/bin/k3sup
k3sup install --ip $CONTAINER_IP --user root
KUBECONFIG=kubeconfig kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system metrics-server-7566d596c8-zm7tj 1/1 Running 0 69m
kube-system local-path-provisioner-6d59f47c7-ldbcl 1/1 Running 0 69m
kube-system helm-install-traefik-glt48 0/1 Completed 0 69m
kube-system coredns-7944c66d8d-67lxp 1/1 Running 0 69m
kube-system traefik-758cd5fc85-wzcst 1/1 Running 0 68m
kube-system svclb-traefik-cwd9h 2/2 Running 0 42m
Forgive me for reviving an old thread but for those who still need this answer:
k3s is getting confused starting as root as it does not know it's in an unprivileged container and thus things aren't working. Add the following lines to ExecStart in the systemd file /etc/systemd/systemd/k3s.service (and then run systemctl daemon-reload) to get k3s running. This answer comes from k3s-io issue 4249.: