在 Debian 系统上安装 Kubernetes(K8s)集群的步骤如下:
1. 实验环境基础条件
- 操作系统:Debian 12(Bookworm)
- 硬件条件:
- 最小化安装:2 CPU / 2 vCPU
- 2 GB RAM
- 20 GB 硬盘空间
- 网络要求:具有管理权限的 sudo 用户,稳定的互联网连接,确保每个节点都能通过可靠的网络连接与其他节点通信。
2. 系统设置
2.1 设置主机名及更新 hosts 文件
登录每个节点(master 和 worker 节点),使用 hostnamectl
命令设置它们的主机名,并在所有节点的 /etc/hosts
文件中添加相应的条目。
sudo hostnamectl set-hostname "k8s-master01.test.local" # 在第一个工作节点运行 sudo hostnamectl set-hostname "k8s-worker01.test.local" # 在第二个工作节点运行
2.2 关闭所有节点的 swap 分区
为了让 kubelet
顺利运行,建议禁用 swap。
sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
2.3 为 k8s 集群添加防火墙规则
如果你的 Debian 系统已启用操作系统防火墙,请在主控节点和工作节点上分别允许以下端口。
# 在主控节点上运行 sudo ufw allow 6443/tcp sudo ufw allow 2379/tcp sudo ufw allow 2380/tcp sudo ufw allow 10250/tcp sudo ufw allow 10251/tcp sudo ufw allow 10252/tcp sudo ufw allow 10255/tcp sudo ufw reload # 在工作节点上运行 sudo ufw allow 10250/tcp sudo ufw allow 30000:32767/tcp sudo ufw reload
3. 安装 containerd 运行时
containerd 是 Kubernetes 支持的行业标准容器运行时。
3.1 设置内核参数
cat <3.2 安装 containerd
sudo apt update sudo apt install -y containerd sudo systemctl enable containerd sudo systemctl start containerd4. 安装 Kubernetes 工具
4.1 添加 Kubernetes apt 仓库
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo apt update4.2 安装 kubelet、kubeadm 和 kubectl
sudo apt install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl5. 使用 kubeadm 安装 Kubernetes 集群
5.1 初始化 Master 节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/165.2 配置 kubectl 命令行工具
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config5.3 安装 Flannel 网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml6. 部署 Worker 节点
根据
kubeadm init
输出的信息,在工作节点上运行加入命令。sudo kubeadm join:6443 --token --discovery-token-ca-cert-hash 7. 验证 Kubernetes 集群
kubectl get nodes如果状态从
NotReady
变成Ready
,则表示安装成功。以上步骤基于 Debian 12 进行,如果使用其他版本的 Debian,可能需要稍作调整。