文档首页> 常见问题> 怎么在Linux服务器上搭建Kubernetes集群?

怎么在Linux服务器上搭建Kubernetes集群?

发布时间:2025-08-03 06:00       

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

随着云原生技术的普及,Kubernetes已成为容器编排的事实标准。本文将详细介绍在Linux服务器上搭建生产级Kubernetes集群的完整流程,涵盖从环境准备到集群部署的每个关键步骤。

一、环境准备

在开始搭建Kubernetes集群前,需要确保满足以下条件:

  • 服务器要求:至少3台Linux服务器(1个Master节点,2个Worker节点)
  • 操作系统:推荐使用Ubuntu 20.04/22.04或CentOS 7/8
  • 硬件配置:每节点2核CPU、4GB内存、20GB磁盘空间
  • 网络要求:节点间网络互通,禁用Swap分区

二、安装步骤详解

1. 基础环境配置

在所有节点上执行以下操作:

# 关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# 禁用SELinux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 关闭Swap
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

2. 安装Docker容器运行时

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

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

3. 安装Kubernetes组件

在所有节点上安装kubeadm、kubelet和kubectl:

# 添加Kubernetes源
sudo apt-get install -y apt-transport-https ca-certificates 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

4. 初始化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

5. 安装网络插件(以Flannel为例)

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

6. 加入Worker节点

在Master节点初始化完成后,会输出加入集群的命令,在Worker节点上执行该命令:

kubeadm join :6443 --token  --discovery-token-ca-cert-hash sha256:

三、集群验证

在Master节点上执行以下命令验证集群状态:

# 查看节点状态
kubectl get nodes

# 查看所有Pod状态
kubectl get pods --all-namespaces

四、常见问题解决

  • 节点NotReady状态:检查网络插件是否安装成功
  • kubeadm init失败:检查端口6443是否被占用
  • Worker节点无法加入:检查token是否过期(默认24小时有效)

五、最佳实践建议

  1. 生产环境建议使用3个Master节点实现高可用
  2. 定期备份etcd数据
  3. 为不同环境(开发/测试/生产)创建独立集群
  4. 使用RBAC进行权限控制

通过以上步骤,您已成功在Linux服务器上部署了一个功能完整的Kubernetes集群,可以开始部署您的容器化应用了。