Last active
January 2, 2023 19:57
-
-
Save mathisve/79d9c5cf3762bebad2a952cce2ac0479 to your computer and use it in GitHub Desktop.
Kubernetes cluster using Kubeadm
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
## works for ubuntu | |
## source: https://www.linuxtechi.com/install-kubernetes-on-ubuntu-22-04/ | |
sudo swapoff -a | |
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /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 apt-key add - | |
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 | |
sudo kubeadm init --control-plane-endpoint={ip of machine or cluster} --pod-network-cidr={cidr}/24 | |
## cluster is installed | |
mkdir -p $HOME/.kube | |
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config | |
sudo chown $(id -u):$(id -g) $HOME/.kube/config | |
## install network add on here (i recommend calico) | |
## https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart | |
kubectl taint nodes --all node-role.kubernetes.io/control-plane- | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment