云服务器上Kubernetes集群的完整安装指南
随着容器化技术的普及,Kubernetes已成为云原生应用部署的事实标准。本文将详细介绍如何在主流云服务器上部署生产级Kubernetes集群,涵盖从环境准备到集群验证的全过程。
一、环境准备
1.1 云服务器选择
建议选择至少3台云服务器组成集群(1个Master+2个Worker),配置要求:
- CPU:2核以上
- 内存:4GB以上
- 操作系统:Ubuntu 20.04/22.04或CentOS 7/8
1.2 基础环境配置
# 所有节点执行
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo modprobe br_netfilter
echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward
二、安装Docker容器运行时
在所有节点安装Docker作为容器运行时:
# Ubuntu系统
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
# CentOS系统
sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker
三、安装Kubernetes组件
3.1 添加Kubernetes仓库
# 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 -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# CentOS
cat <
3.2 安装kubeadm、kubelet和kubectl
# Ubuntu
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
# CentOS
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet
四、初始化Kubernetes集群
4.1 Master节点初始化
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
成功后会显示加入集群的命令,请妥善保存。
4.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
五、安装网络插件
安装Flannel网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
六、加入Worker节点
在每个Worker节点执行Master初始化时提供的join命令:
kubeadm join : --token --discovery-token-ca-cert-hash sha256:
七、验证集群状态
kubectl get nodes
kubectl get pods --all-namespaces
所有节点状态应为Ready,核心组件运行正常。
最佳实践建议
- 生产环境建议使用高可用(HA)部署模式
- 配置云服务器安全组放行Kubernetes所需端口
- 定期备份etcd数据
- 考虑使用kubeadm的配置文件进行更精细的控制
通过以上步骤,您已在云服务器上成功部署了Kubernetes集群,可以开始部署容器化应用了!
