售前咨询400-838-0503

如何搭建Kubernetes集群在Linux云服务器上?

技术文档 2025-04-20 11:01

Linux云服务器上搭建Kubernetes集群的完整指南

在云计算时代,Kubernetes已经成为容器编排的事实标准。本文将详细介绍如何在Linux云服务器上从零开始搭建一个生产可用的Kubernetes集群,包含准备工作、环境配置、集群部署和验证测试等完整流程。

一、准备工作

在开始部署前,需要准备以下资源:

  • 3台或以上Linux云服务器(推荐Ubuntu 20.04/22.04或CentOS 7/8)
  • 每台服务器建议配置:2核CPU、4GB内存、50GB磁盘
  • 所有节点间网络互通(建议关闭防火墙或配置相应规则)
  • SSH密钥对用于安全登录
  • sudo权限账户

二、环境配置

1. 系统基础配置

# 所有节点执行
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab

# 设置主机名(在各节点分别执行)
sudo hostnamectl set-hostname master-node
sudo hostnamectl set-hostname worker-node1
sudo hostnamectl set-hostname worker-node2

# 添加hosts解析
sudo tee -a /etc/hosts <

2. 安装Docker容器运行时

# Ubuntu系统
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker

# CentOS系统
sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker

三、Kubernetes组件安装

1. 安装kubeadm、kubelet和kubectl

# 所有节点执行
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
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

2. 初始化Master节点

# 仅在master节点执行
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

# 初始化成功后,按照提示配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

3. 安装网络插件(Flannel)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

4. 加入Worker节点

使用kubeadm init输出的join命令,在各个worker节点执行:

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

四、集群验证

1. 检查节点状态

kubectl get nodes

2. 部署测试应用

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get svc

3. 访问测试服务

使用任一节点的IP和分配的NodePort访问Nginx服务

五、后续优化建议

  • 配置持久化存储(如NFS、Ceph等)
  • 安装监控系统(Prometheus + Grafana)
  • 配置Ingress控制器(Nginx Ingress等)
  • 设置自动扩缩容(HPA)
  • 配置日志收集系统(EFK Stack)

通过以上步骤,您已经成功在Linux云服务器上搭建了一个功能完整的Kubernetes集群。这个集群可以用于开发测试环境,也可以作为生产环境的基础。根据实际需求,您可以进一步优化和扩展集群功能。

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

提交工单