温馨提示×

如何在Debian上配置K8s环境

小樊
45
2025-07-08 04:26:14
栏目: 智能运维

在Debian上配置K8s(Kubernetes)环境是一个相对复杂的过程,涉及多个步骤。以下是一个详细的指南,帮助你在Debian系统上安装和配置Kubernetes集群。

准备工作

  • 硬件要求:至少2个CPU核心,至少2GB RAM,至少20GB的硬盘空间。
  • 软件要求:Debian 12或更高版本,Docker,kubeadm,kubelet,kubectl,containerd。
  • 网络配置:确保每个节点都能通过可靠的网络连接与其他节点通信。设置主机名及更新 /etc/hosts 文件,以便节点之间可以相互解析。关闭所有节点的swap分区。为K8s集群添加防火墙规则。

安装步骤

  1. 更新系统

    sudo apt update
    sudo apt upgrade -y
    
  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 [archamd64] 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 start docker
    sudo systemctl enable docker
    
  3. 禁用Swap

    sudo swapoff -a
    sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
    
  4. 安装containerd

    sudo apt update
    sudo apt install -y apt-transport-https curl
    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
    
  5. 配置内核参数

    sudo tee /etc/modules-load.d/containerd.conf <<EOF
    overlaybr_netfilter
    EOF
    sudo modprobe overlay
    sudo modprobe br_netfilter
    sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf <<EOF
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    EOF
    sudo sysctl --system
    
  6. 初始化Kubernetes集群: 在主节点上执行以下命令:

    sudo kubeadm init --pod-network-cidr 10.244.0.0/16
    
  7. 配置kubectl

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  8. 安装网络插件: 例如,使用Calico:

    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    
  9. 加入工作节点: 在每个工作节点上执行初始化期间生成的加入命令:

    sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    
  10. 验证安装: 在主节点上运行以下命令以检查集群组件的状态:

    kubectl cluster-info
    kubectl get nodes
    

注意事项

  • 确保所有节点的防火墙允许必要的端口通信。
  • 根据需要调整内核参数和网络配置。
  • 定期更新Kubernetes集群和相关组件以保持安全和稳定性。

以上步骤涵盖了在Debian系统上配置Kubernetes集群的基本流程。请根据实际需求和环境调整细节。

0