温馨提示×

探索Debian与Kubernetes的部署之道

小樊
58
2025-09-01 08:45:42
栏目: 智能运维

在Debian上部署Kubernetes可按以下步骤操作,需注意版本兼容性和配置细节:

一、环境准备

  • 硬件要求:至少2核CPU、2GB RAM、20GB硬盘空间。
  • 系统要求:使用Debian 10及以上版本,推荐Debian 12。
  • 网络配置:确保节点间网络互通,关闭Swap分区(关键步骤)。

二、安装核心组件

  1. 安装Docker(可选)

    • 作为容器运行时(Kubernetes官方逐步弃用,但部分场景仍可用):
      sudo apt install -y docker.io  
      sudo systemctl enable --now docker  
      
  2. 安装containerd

    • 推荐作为Kubernetes的容器运行时:
      sudo apt install -y containerd  
      sudo mkdir -p /etc/containerd  
      sudo containerd config default | sudo tee /etc/containerd/config.toml  
      sudo systemctl enable --now containerd  
      
  3. 添加Kubernetes仓库并安装组件

    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 update  
    sudo apt install -y kubelet kubeadm kubectl  
    sudo apt-mark hold kubelet kubeadm kubectl  # 锁定版本避免自动升级  
    

三、初始化集群

  • 主节点初始化
    sudo kubeadm init --pod-network-cidr=10.244.0.0/16  # 指定Pod网络CIDR  
    
    初始化后配置kubectl:
    mkdir -p $HOME/.kube  
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  
    sudo chown $(id -u):$(id -g) $HOME/.kube/config  
    

四、部署网络插件

  • 以Flannel为例:
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml  
    
    或使用Calico等其他插件。

五、加入工作节点

  • 在工作节点执行主节点生成的命令(含kubeadm join参数):
    sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash <hash>  
    

六、验证集群状态

  • 检查节点状态:
    kubectl get nodes  
    
    应显示所有节点为Ready状态。

七、安全与优化

  • 配置防火墙:开放Kubernetes默认端口(如6443、10250等)。
  • 启用监控:部署Prometheus+Grafana监控集群状态。
  • 权限管理:通过RBAC限制用户对集群资源的访问。

注意事项

  • 避免在生产环境中使用默认的kubectl配置,建议通过证书认证增强安全性。
  • 定期更新Kubernetes组件以修复漏洞,可通过apt-get upgrade操作实现。

以上步骤参考自,具体配置可根据实际需求调整。

0