Last active
May 12, 2023 07:54
-
-
Save criscola/a887fa02f57638aac6f49d02d627a76c to your computer and use it in GitHub Desktop.
Install Kubernetes on Ubuntu with kubeadm and containerd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# from https://www.linuxtechi.com/install-kubernetes-on-ubuntu-22-04/ | |
sudo hostnamectl set-hostname "mgmt" | |
exec bash | |
sudo hostnamectl set-hostname "worker1" // 1st worker node | |
sudo hostnamectl set-hostname "worker2" // 2nd worker node | |
exec bash | |
sudo swapoff -a | |
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab | |
# If swap is as a file, and not as a partition, run the following instead: | |
sudo sed -i '/\/swap\.img/ s/^/#/' /etc/fstab | |
sudo tee /etc/modules-load.d/containerd.conf <<EOF | |
overlay | |
br_netfilter | |
EOF | |
sudo modprobe overlay | |
sudo modprobe br_netfilter | |
sudo tee /etc/sysctl.d/kubernetes.conf <<EOF | |
net.bridge.bridge-nf-call-ip6tables = 1 | |
net.bridge.bridge-nf-call-iptables = 1 | |
net.ipv4.ip_forward = 1 | |
EOF | |
sudo sysctl --system | |
sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates | |
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg | |
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | |
sudo apt update | |
sudo apt install -y containerd.io | |
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1 | |
sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml | |
sudo systemctl restart containerd | |
sudo systemctl enable containerd | |
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/kubernetes-xenial.gpg | |
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" | |
sudo apt update | |
sudo apt install -y kubelet kubeadm kubectl | |
sudo apt-mark hold kubelet kubeadm kubectl | |
# On master | |
sudo kubeadm init --control-plane-endpoint=10.10.70.1 | |
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml | |
mkdir -p $HOME/.kube | |
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config | |
sudo chown $(id -u):$(id -g) $HOME/.kube/config | |
# On workers, copy paste join command, or regenerate kubeadm token create --print-join-command | |
# Remove node: https://monowar-mukul.medium.com/kubernetes-remove-worker-node-from-the-cluster-and-completely-uninstall-af41e00c1244 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment