Skip to content

Instantly share code, notes, and snippets.

@hazeim254
Created May 24, 2025 06:10
Show Gist options
  • Select an option

  • Save hazeim254/8fa0c0498874613a062ae20b1e23a7a3 to your computer and use it in GitHub Desktop.

Select an option

Save hazeim254/8fa0c0498874613a062ae20b1e23a7a3 to your computer and use it in GitHub Desktop.
Install kubeadm on ubuntu
#!/bin/sh
sudo modprobe br_netfilter
sudo sysctl -w net.ipv4.ip_forward=1
#!/bin/bash
# I choose CRI-O because it is easier to install and needs less installation
# Also, versioning seems to match kubernetes version so less confusion about versions
export CRIO_VERSION='v1.33'
export KUBERNETES_VERSION='v1.33'
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
curl -fsSL https://pkgs.k8s.io/core:/stable:/$KUBERNETES_VERSION/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/$KUBERNETES_VERSION/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://download.opensuse.org/repositories/isv:/cri-o:/stable:/$CRIO_VERSION/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/cri-o-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/cri-o-apt-keyring.gpg] https://download.opensuse.org/repositories/isv:/cri-o:/stable:/$CRIO_VERSION/deb/ /" | sudo tee /etc/apt/sources.list.d/cri-o.list
sudo apt-get update
sudo apt-get install -y cri-o kubelet kubeadm kubectl
# As recommended by kubeadm docs, hold updates for these packages
sudo apt-mark hold kubelet kubeadm kubectl
sudo systemctl enable --now crio.service
sudo systemctl enable --now kubelet
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment