云服务器上搭建Kubernetes集群的完整指南
随着容器化技术的普及,Kubernetes已成为云原生应用部署的事实标准。本文将详细介绍如何在主流云服务器上快速搭建生产级Kubernetes集群,涵盖从环境准备到集群部署的全过程。
一、前期准备
1.1 云服务器选型
建议选择至少2核4G配置的云服务器,推荐配置:
- 控制节点(Master):2-4核CPU,8-16GB内存
- 工作节点(Node):4-8核CPU,16-32GB内存
1.2 操作系统要求
推荐使用以下Linux发行版:
- Ubuntu 20.04/22.04 LTS
- CentOS 7/8
- Amazon Linux 2
二、环境配置
2.1 基础环境配置
# 关闭swap
sudo swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 设置主机名
sudo hostnamectl set-hostname k8s-master
2.2 安装容器运行时
推荐使用containerd:
# 安装containerd
sudo apt-get install -y containerd
sudo systemctl enable containerd
sudo systemctl start containerd
三、Kubernetes集群安装
3.1 安装kubeadm/kubelet/kubectl
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
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
3.2 初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
3.3 安装网络插件
推荐使用Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
四、工作节点加入集群
在Master节点执行以下命令获取加入命令:
kubeadm token create --print-join-command
在工作节点执行输出的命令:
kubeadm join 10.0.0.1:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:12345...
五、集群验证
# 查看节点状态
kubectl get nodes
# 查看所有Pod状态
kubectl get pods --all-namespaces
六、云平台特别注意事项
6.1 安全组配置
确保开放以下端口:
- TCP 6443 (Kubernetes API server)
- TCP 2379-2380 (etcd server client API)
- TCP 10250 (Kubelet API)
6.2 持久化存储配置
各大云平台提供CSI驱动:
- AWS EBS CSI Driver
- Azure Disk CSI Driver
- Google Persistent Disk CSI Driver
通过以上步骤,您已成功在云服务器上搭建了Kubernetes集群。建议后续配置:
- 安装监控系统(Prometheus+Grafana)
- 配置日志收集(EFK/ELK)
- 设置RBAC权限控制
