售前咨询400-838-0503

Linux 服务器如何部署 Kubernetes?

技术文档 2025-04-22 21:45

手把手教你用Linux服务器部署Kubernete集群

作为当下最流行的容器编排系统,Kubernetes已经成为云原生应用的事实标准。本文将详细介绍如何在Linux服务器上从零开始部署一个生产可用的Kubernetes集群。

一、环境准备

  • 服务器要求:至少2台Linux服务器(推荐Ubuntu 20.04或CentOS 8)
  • 硬件配置:每台服务器至少2核CPU、4GB内存、30GB磁盘空间
  • 网络要求:服务器之间需要互通,建议配置静态IP

⚠️ 注意:生产环境建议使用3台或以上服务器组成高可用集群。

二、基础环境配置

  1. 关闭交换空间

    sudo swapoff -a
    sudo sed -i '/ swap / s/^/#/' /etc/fstab
  2. 配置内核参数

    cat <
  3. 安装Docker容器运行时

    sudo apt-get update && sudo apt-get install -y docker.io
    sudo systemctl enable docker && sudo systemctl start docker

三、安装Kubernetes组件

  1. 添加Kubernetes源

    sudo apt-get update && sudo apt-get 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
  2. 安装kubeadm、kubelet和kubectl

    sudo apt-get update
    sudo apt-get install -y kubelet kubeadm kubectl
    sudo apt-mark hold kubelet kubeadm kubectl

四、初始化Master节点

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

初始化完成后会输出加入集群的命令,类似:

kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

五、配置kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

六、安装网络插件(以Calico为例)

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

七、加入Worker节点

在其他服务器上执行初始化时输出的kubeadm join命令:

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

八、验证集群状态

kubectl get nodes
kubectl get pods --all-namespaces

部署完成后检查清单

  • 所有节点状态为Ready
  • CoreDNS Pods运行正常
  • 网络插件Pods运行正常
  • 能够正常创建测试Pod

九、常见问题排查

节点NotReady状态
检查网络插件是否安装成功,查看kubelet日志:journalctl -u kubelet
kubeadm init失败
检查端口6443是否开放,确保没有防火墙阻止通信
Pod网络不通
确认网络插件的CIDR与kubeadm初始化时的参数一致

通过上述步骤,您已经成功在Linux服务器上部署了一个Kubernetes集群。接下来可以开始部署应用程序,或进一步配置Ingress、Storage等高级功能。

Kubernetes虽然复杂,但掌握其部署方法是使用这个强大编排系统的第一步。建议在生产环境部署前,先在测试环境充分验证。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单