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

常见问题

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

2025-04-15 16:01


从零开始:手把手教

                                            

从零开始:手把手教你搭建Kubernetes云服务器集群

本文将通过7个详细步骤,带您完成从云服务器选购到Kubernetes集群部署的全过程,包含常见问题解决方案和性能优化建议。

一、准备工作

搭建Kubernetes集群前需要做好以下准备:

  • 云服务器选择:建议至少3台2核4G配置的云服务器(1台Master+2台Node)
  • 操作系统:推荐Ubuntu 20.04 LTS或CentOS 7+
  • 网络环境:确保服务器间内网互通,开放6443、2379-2380等必要端口
Kubernetes集群架构图

二、基础环境配置

1. 禁用Swap分区

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

2. 设置主机名解析

编辑每台服务器的/etc/hosts文件,添加集群所有节点IP和主机名的映射关系

3. 加载内核模块

cat <

三、安装容器运行时

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

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

💡 提示:生产环境建议使用containerd作为运行时,性能更优且资源占用更少

四、安装Kubernetes组件

1. 添加APT/YUM源

# Ubuntu系统
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 -
cat <

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 \
  --apiserver-advertise-address= \
  --image-repository registry.aliyuncs.com/google_containers

初始化成功后,按照提示执行以下命令:

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

验证安装:

kubectl get pods -n kube-system

七、加入Worker节点

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

kubeadm token create --print-join-command

在Worker节点上执行输出的join命令即可加入集群。

常见问题解决

问题现象 解决方法
kubelet无法启动 检查cgroup驱动是否匹配:docker info | grep Cgroup
Pod处于Pending状态 检查网络插件是否正常安装
节点NotReady 检查kubelet日志:journalctl -u kubelet

性能优化建议

  1. 为kubelet设置--max-pods参数限制单节点Pod数量
  2. 配置合理的资源请求和限制(requests/limits)
  3. 定期清理未使用的镜像和停止的容器
  4. 考虑使用本地SSD提升etcd性能

通过以上步骤,您已成功在云服务器上搭建了Kubernetes集群。建议下一步:

  • 部署监控系统(Prometheus+Grafana)
  • 配置日志收集(EFK方案)
  • 设置RBAC权限控制


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