Become root.
sudo su
Then update the OS.
apt-get update -y apt-get upgrade -y reboot
Login back into the master and become root.
sudo su
Disable IPv6 in /etc/sysctl.conf
(add the line at the end of the file).
net.ipv6.conf.all.disable_ipv6 = 1
Comment out all IPv6 addresses in the /etc/hosts
file.
The end result should look similar to the content below.
127.0.0.1 localhost # ::1 localhost ip6-localhost ip6-loopback # ff02::1 ip6-allnodes # ff02::2 ip6-allrouters 127.0.1.1 kube0
Set the OS to not load IPv6 kernel module.
cat <<EOF > /etc/modprobe.d/ipv6.conf # Don't load ipv6 by default alias net-pf-10 off alias ipv6 off options ipv6 disable_ipv6=1 EOF
Set the firewall to legacy iptables.
update-alternatives --set iptables /usr/sbin/iptables-legacy
Reboot the master.
reboot
Log back into the master and become root.
sudo su
Install the k3s server.
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--no-deploy traefik" sh -
Note the command line above excludes Traefik from the deployment as I deploy it separately. If you do not want to configure Traefik yourself feel free to drop the INSTALL_K3S_EXEC parameter altogether.
Now verify if it all works
kubectl get nodes
Posted February 12th, 2020