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

常见问题

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

2025-04-28 11:11


手把手教你用Lin

                                            

手把手教你用Linux服务器搭建Kubernetes集群

Kubernetes作为当下最流行的容器编排平台,正在重塑云原生应用的部署方式。本文将详细介绍如何在Linux服务器上从零开始搭建一个生产可用的Kubernetes集群,涵盖从环境准备到集群部署的全过程。

一、环境准备

1.1 硬件要求

  • 至少3台Linux服务器(1个Master节点,2个Worker节点)
  • 每台服务器建议配置:2核CPU/4GB内存/20GB存储
  • 稳定的网络连接(建议内网互通)

1.2 软件要求

  • 操作系统:Ubuntu 20.04 LTS或CentOS 7+
  • Docker 19.03+
  • Kubernetes 1.20+
  • 禁用交换分区:swapoff -a

二、安装必要组件

2.1 在所有节点安装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
  

2.2 安装kubeadm/kubelet/kubectl

# 添加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-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

# 配置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.1 安装网络插件(以Flannel为例)

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

四、加入Worker节点

在Master节点执行kubeadm token create --print-join-command获取加入命令,然后在每个Worker节点上执行该命令。

# 示例命令(具体token以实际生成为准)
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:12345...abcde
  

五、验证集群状态

# 查看节点状态
kubectl get nodes

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

# 测试集群功能
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
  

六、常见问题排查

  • 节点NotReady状态:检查网络插件是否安装成功
  • 镜像拉取失败:配置国内镜像源或手动拉取镜像
  • 证书过期:使用kubeadm certs renew命令更新证书

通过上述步骤,您已成功搭建了一个基础的Kubernetes集群。建议后续根据实际需求配置持久化存储、Ingress控制器和监控系统等组件,以构建完整的生产环境。

Kubernetes的学习曲线虽然陡峭,但掌握其核心概念和部署方法将大大提升您的云原生技术水平。


标签:
  • Kubernetes
  • Linux服务器
  • 集群搭建
  • 莱卡云