Linux云服务器部署Kubernetes全攻略
随着云原生技术的普及,Kubernetes已成为容器编排的事实标准。本文将详细介绍在Linux云服务器上部署Kubernetes集群的完整流程,帮助您快速搭建生产级容器平台。
一、前期准备工作
在开始部署前,您需要确保:
- 至少3台Linux云服务器(推荐Ubuntu 20.04/CentOS 7+)
- 每台服务器至少2核CPU和4GB内存
- 服务器之间网络互通
- SSH访问权限
- sudo或root权限
二、基础环境配置
1. 系统优化
# 关闭swap
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
# 设置hostname
sudo hostnamectl set-hostname k8s-master
2. 安装Docker
# Ubuntu
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable --now docker
# CentOS
sudo yum install -y docker
sudo systemctl enable --now docker
三、Kubernetes组件安装
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 -
cat <
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 --now kubelet
四、集群初始化
# 在主节点执行
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
# 配置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
加入工作节点
在初始化完成后,会输出类似如下命令,在工作节点上执行:
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
五、验证集群状态
# 检查节点状态
kubectl get nodes
# 检查所有Pod状态
kubectl get pods --all-namespaces
六、常见问题解决
- 镜像拉取失败:配置国内镜像源或手动pull镜像
- 节点NotReady:检查网络插件是否安装成功
- 证书过期:使用kubeadm alpha certs renew all更新证书
通过上述步骤,您已经成功在Linux云服务器上部署了Kubernetes集群。建议在生产环境中考虑:
- 配置高可用架构
- 设置RBAC权限控制
- 启用监控告警系统
Kubernetes学习曲线较陡,建议通过官方文档和实践不断深入理解其工作原理和使用方法。
