当前位置:首页 > Debian > 正文

Debian云原生集群部署(手把手教你搭建Kubernetes容器化平台)

在当今的云计算时代,云原生基础设施已成为企业构建弹性、可扩展应用的核心。而 Debian 作为稳定可靠的 Linux 发行版,是部署 Kubernetes 集群的理想选择。本教程将带你从零开始,在 Debian 系统上搭建一个完整的 Debian云原生集群,即使是初学者也能轻松上手。

Debian云原生集群部署(手把手教你搭建Kubernetes容器化平台) Debian云原生集群  Kubernetes部署 容器化应用 云原生基础设施 第1张

准备工作

你需要准备以下资源:

  • 至少两台运行 Debian 11(Bullseye)或更高版本的服务器(一台 Master,一台 Worker)
  • 每台机器至少 2GB 内存、2 核 CPU
  • 稳定的网络连接和 root 或 sudo 权限
  • 关闭防火墙或开放必要端口(如 6443、2379-2380、10250 等)

第1步:系统初始化配置

在所有节点(Master 和 Worker)上执行以下操作:

# 更新系统sudo apt update && sudo apt upgrade -y# 安装必要工具sudo apt install -y curl wget vim gnupg2# 关闭 swap(Kubernetes 要求)sudo swapoff -asudo sed -i '/ swap / s/^/#/' /etc/fstab# 加载内核模块cat <# 配置 sysctl 参数cat <  

第2步:安装 Containerd 运行时

Kubernetes 推荐使用 containerd 作为容器运行时。在所有节点上执行:

# 安装 containerdsudo apt install -y containerd# 创建默认配置sudo mkdir -p /etc/containerdcontainerd config default | sudo tee /etc/containerd/config.toml# 启用 SystemdCgroupsudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml# 重启并启用服务sudo systemctl restart containerdsudo systemctl enable containerd  

第3步:安装 Kubernetes 组件

在所有节点上添加 Kubernetes 官方仓库并安装 kubeadm、kubelet 和 kubectl:

# 添加 GPG 密钥curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg \  https://packages.cloud.google.com/apt/doc/apt-key.gpg# 添加仓库echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] \  https://apt.kubernetes.io/ kubernetes-xenial main" | \  sudo tee /etc/apt/sources.list.d/kubernetes.list# 安装指定版本(建议固定版本)sudo apt updatesudo apt install -y kubelet=1.28.0-1.1 kubeadm=1.28.0-1.1 kubectl=1.28.0-1.1# 锁定版本防止自动更新sudo apt-mark hold kubelet kubeadm kubectl  

第4步:初始化 Master 节点

仅在 Master 节点执行以下命令:

# 初始化集群(替换 YOUR_MASTER_IP 为实际 IP)sudo kubeadm init \  --pod-network-cidr=10.244.0.0/16 \  --apiserver-advertise-address=YOUR_MASTER_IP# 配置 kubectlmkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config  

初始化成功后,你会看到类似 kubeadm join ... 的命令,请复制保存,稍后用于加入 Worker 节点。

第5步:安装 CNI 网络插件(Flannel)

Kubernetes 需要 CNI 插件来实现 Pod 网络通信。我们使用 Flannel:

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml  

第6步:加入 Worker 节点

在每个 Worker 节点上,运行之前保存的 kubeadm join 命令:

# 示例命令(请使用你自己的 token 和 hash)sudo kubeadm join YOUR_MASTER_IP:6443 \  --token abcdef.0123456789abcdef \  --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  

第7步:验证集群状态

回到 Master 节点,运行以下命令检查集群是否就绪:

kubectl get nodes  

如果所有节点状态为 Ready,恭喜你!你已成功部署一个基于 Debian 的 容器化应用 平台。

结语

通过本教程,你已经掌握了如何在 Debian 系统上从零搭建一个生产就绪的 Debian云原生集群。接下来,你可以部署 Helm、Ingress Controller、监控系统等组件,进一步完善你的 云原生基础设施。记住,持续学习和实践是掌握 Kubernetes 的关键!