售前咨询400-838-0503

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

发布:2025-05-30 07:36

Linux云服务器上搭建Kubernetes集群的终极指南

随着容器化技术的普及,Kubernetes已成为云原生应用部署的事实标准。本文将详细介绍在Linux云服务器上搭建生产级Kubernetes集群的完整流程,帮助您快速掌握这项关键技能。

一、准备工作

  • 服务器要求:至少3台云服务器(1主2从),推荐配置2核4G以上
  • 操作系统:Ubuntu 20.04/22.04或CentOS 7/8
  • 网络准备:确保节点间网络互通,开放必要端口(6443,2379等)

二、环境配置

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

# 关闭swap
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

# 设置主机名(各节点不同)
sudo hostnamectl set-hostname k8s-master

# 添加hosts解析
echo "192.168.1.100 k8s-master" | sudo tee -a /etc/hosts
echo "192.168.1.101 k8s-node1" | sudo tee -a /etc/hosts
echo "192.168.1.102 k8s-node2" | sudo tee -a /etc/hosts

三、安装容器运行时

Kubernetes支持多种容器运行时,我们以Docker为例:

# 安装Docker
curl -fsSL https://get.docker.com | sh

# 配置Docker使用systemd作为cgroup驱动
sudo mkdir /etc/docker
cat <

四、安装Kubernetes组件

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

# 安装kubelet, kubeadm和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

# 成功后按提示执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

六、安装网络插件

我们选择Flannel作为网络插件:

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

七、加入Worker节点

在Master节点上获取加入命令:

kubeadm token create --print-join-command

然后在每个Worker节点上执行输出的命令。

八、验证集群状态

kubectl get nodes
kubectl get pods --all-namespaces

九、常见问题解决

  • 节点NotReady:检查网络插件是否安装成功
  • 镜像拉取失败:配置国内镜像源或手动拉取
  • 端口冲突:检查端口占用情况

十、集群优化建议

  1. 配置持久化存储
  2. 设置资源限制和请求
  3. 启用集群监控
  4. 配置自动扩缩容

通过以上步骤,您已成功在Linux云服务器上搭建了一个Kubernetes集群。Kubernetes的学习曲线虽然陡峭,但掌握它能为您的云原生之旅打下坚实基础。建议后续深入学习Ingress、Helm等高级功能,以充分发挥Kubernetes的潜力。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单