debian

如何利用Debian部署Kubernetes

小樊
43
2025-09-01 08:38:42
栏目: 智能运维

以下是在Debian上部署Kubernetes的步骤:

  1. 准备工作

    • 确保硬件满足要求(至少2核CPU、2GB RAM、20GB硬盘)。
    • 更新系统:sudo apt update && sudo apt upgrade -y
    • 关闭Swap分区:sudo swapoff -a并修改/etc/fstab
  2. 安装依赖组件

    • 安装Docker:
      sudo apt install -y apt-transport-https ca-certificates curl  
      curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -  
      echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list  
      sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io  
      sudo systemctl enable --now docker  
      
    • 安装containerd(若需自定义配置):
      sudo apt install -y containerd  
      sudo mkdir -p /etc/containerd  
      sudo tee /etc/containerd/config.toml <<EOF  
      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]  
      SystemdCgroup = true  
      EOF  
      sudo systemctl restart 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  
    
  4. 初始化主节点

    sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12  
    mkdir -p $HOME/.kube  
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  
    sudo chown $(id -u):$(id -g) $HOME/.kube/config  
    
  5. 加入工作节点
    在工作节点执行主节点生成的kubeadm join命令(需替换IP、token等信息):

    sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>  
    
  6. 安装网络插件(可选)
    以Flannel为例:

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml  
    
  7. 验证集群状态

    kubectl get nodes  
    kubectl cluster-info  
    

注意事项

参考来源:

0
看了该问题的人还看了