手把手教你:如何在Linux云服务器上部署Kubernetes集群
Kubernetes作为容器编排领域的领导者,已成为云原生应用部署的事实标准。本文将详细介绍在Linux云服务器上搭建Kubernetes集群的完整流程,包括准备工作、环境配置、集群初始化等关键步骤。
一、准备工作
在开始部署前,请确保您已准备好以下资源:
- 至少2台Linux云服务器(推荐Ubuntu 20.04或CentOS 8)
- 每台服务器至少2GB内存和2个CPU核心
- 服务器之间网络互通
- root权限或sudo权限
重要提示:所有节点的时间必须同步,建议安装NTP服务。
二、环境配置
1. 关闭Swap
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
2. 安装Docker
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
3. 安装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 -a /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
三、初始化集群
1. 在主节点执行初始化
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后,请记录输出的kubeadm join命令,用于添加工作节点。
2. 配置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
四、添加工作节点
在每个工作节点上执行前面记录的kubeadm join命令:
sudo kubeadm join <主节点IP>:6443 --token --discovery-token-ca-cert-hash sha256:
添加完成后,在主节点执行kubectl get nodes查看节点状态。
五、验证集群状态
kubectl get all --all-namespaces
kubectl get nodes -o wide
所有组件状态应为Running,节点状态应为Ready。
六、常见问题排查
- 节点NotReady:检查网络插件是否安装正确
- 镜像拉取失败:配置国内镜像源或手动拉取镜像
- 端口冲突:确保6443, 10250等端口未被占用
总结
通过上述步骤,您已成功在Linux云服务器上部署了Kubernetes集群。建议进一步配置:
- 配置持久化存储
- 设置RBAC权限控制
- 配置监控和日志系统
Kubernetes集群的部署只是开始,后续的应用部署和管理才是真正发挥其价值的关键。
