這一篇主要是以「乾貨」為主,目的是讓需要的人能僅靠複製貼上就能達到最終目的,完成K8S的完整安裝。
過一些時間會另外再寫一篇以「詳解」為主的安裝指南,撰寫詳解筆記費時費力,故只能敬請期待。
當然待「詳解」篇完成後,會再編寫一份「一鍵安裝」的自動化腳本,但這都是非常後話了。
先秀最終結果
Kubernetes Control-Plane Node 和 Kubernetes Worker Node 都需要安裝
sudo apt update
sudo apt upgrade
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
free -l
# 這邊我是用GCP Demo,因此沒有「sudo sed -i '/swap/s/^/#/' /etc/fstab」這個需求,故無下該指令。
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
sudo modprobe overlay
sudo modprobe br_netfilter
sudo sysctl --system
sudo apt install ca-certificates curl
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install containerd.io
containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml