Created
March 12, 2024 11:25
-
-
Save initcron/3fad9eaf9588640ef940ad4167a61e93 to your computer and use it in GitHub Desktop.
Kubernetes Installation v1.28 User Data
This file contains 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
#!/bin/bash | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update | |
apt-get install -y git wget net-tools | |
# Prereqs | |
modprobe overlay | |
modprobe br_netfilter | |
swapoff -a | |
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab | |
tee /etc/modules-load.d/k8s.conf <<EOF | |
overlay | |
br_netfilter | |
EOF | |
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf | |
net.bridge.bridge-nf-call-iptables = 1 | |
net.bridge.bridge-nf-call-ip6tables = 1 | |
net.ipv4.ip_forward = 1 | |
EOF | |
sysctl --system | |
# Install Containerd as Runtime | |
apt-get install -yq \ | |
apt-transport-https \ | |
ca-certificates \ | |
curl \ | |
gnupg-agent \ | |
gnupg \ | |
software-properties-common | |
mkdir -p /etc/apt/keyrings | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | 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" | tee /etc/apt/sources.list.d/docker.list > /dev/null | |
apt-get update | |
apt-get install -yq containerd.io | |
containerd config default | tee /etc/containerd/config.toml >/dev/null 2>&1 | |
sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml | |
systemctl restart containerd | |
systemctl enable containerd | |
# Install kubeadm, kubectl and kubelet | |
sudo apt-get update | |
sudo apt-get install -y apt-transport-https ca-certificates curl gpg | |
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/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:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list | |
apt-get update | |
apt-get install -y kubelet kubeadm kubectl | |
apt-mark hold kubelet kubeadm kubectl | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment