Kubernetes 1.18 on Fedora 32 with kubeadm
Enable kubernetes repos
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
Disable SELinux becasue ... lazy
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
Enable Fedora cri-o module
dnf module enable cri-o:1.18
dnf install cri-o
Install kube stuff
dnf install -y --disableexcludes=kubernetes kubelet kubeadm kubectl
Enable cri-o and kubelet on boot
sudo systemctl enable cri-o && sudo systemctl enable kubelet
Set kubelet extra args
echo "KUBELET_EXTRA_ARGS=--cgroup-driver=systemd" | sudo tee /etc/sysconfig/kubelet
Enable required modules on boot
sudo tee /etc/modules-load.d/crio-net.conf <<EOF
overlay
br_netfilter
EOF
Set sysctl options
sudo tee /etc/sysctl.d/99-kubernetes-cri.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
Set cgroup kernel arg
- Edit /etc/default/grub and add the following parameter to GRUB_CMDLINE_LINUX
systemd.unified_cgroup_hierarchy=0
Update grub changes
- If using BIOS
grub2-mkconfig -o /boot/grub2/grub.cfg
- If using UEFI
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
If you have swap enabled, disable it.
sudo swapoff `cat /proc/swaps|grep dev|awk '{print $1}'`
sudo sed -e '/swap/ s/^#*/#/' -i /etc/fstab
Reboot
init 6
Run kubeadm
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --cri-socket=/var/run/crio/crio.sock
Copy the kubeconfig to your home directory
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Remove the taint from the master ( only ) node
kubectl taint nodes --all node-role.kubernetes.io/master-
Deploy Calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
Credit:
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
https://jebpages.com/2019/02/25/installing-kubeadm-on-fedora-coreos/