Installation
Make sure Ubuntu is up-to-date
sudo apt dist-upgradeInstall the required repo dependencies
We need to install the required packages for the docker repository to grab the latest packages.
sudo apt update
sudo apt install -y \
ca-certificates \
curl \
gnupg \
lsb-releaseAdd the required repositories
We will add the docker repository to get the latest version of the packages below
# Create folder for new gpg keys
sudo mkdir -p /etc/apt/keyrings
# Docker repository for containerd
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# kubernetes repository
sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# Update apt cache
sudo apt-get update! if you receive a GPG error when running apt update, run the following command to fix the public key’s umask sudo chmod a+r /etc/apt/keyrings/docker.gpg
Install packages
sudo apt install -y kubelet kubeadm kubectl containerd.ioHold packages
We will mark the packages to be held to prevent them from being upgraded unless forced. This will help prevent any unexpected compatability issues.
sudo apt-mark hold kubelet kubeadm kubectl containerd.ioInstall the NFS client (optional but recommended)
Install NFS cliet if you are using persistent apps so the host can mount the required shares.
sudo apt install -y nfs-common