在 Debian 上安装 Kubernetes(以最常见的 kubeadm 方式为例),通常可以概括为 6 大步,每一步里还有细分操作。
系统要求
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
设置主机名和 hosts
hostnamectl set-hostname master
内核参数
cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
以 containerd 为例:
apt update
apt install -y containerd
配置 containerd 使用 systemd cgroup。
apt install -y apt-transport-https ca-certificates curl
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /" > /etc/apt/sources.list.d/kubernetes.list
apt update
apt install -y kubelet kubeadm kubectl
kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
例如 Flannel:
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
在 Master 上获取命令:
kubeadm token create --print-join-command
在 worker 节点执行输出的 kubeadm join ...
6 步:
如果你是 单机测试 / 学习 / 生产环境,我可以给你精简版或一键脚本版。