如何部署Kubernetes集群?
从零开始:手把手教你部署Kubernetes集群
在云原生时代,Kubernetes已经成为容器编排领域的事实标准。本文将为你详细介绍三种主流Kubernetes集群部署方案,助你快速搭建生产级容器环境。
一、环境准备
部署Kubernetes集群前,需要确保满足以下基本条件:
- 服务器资源:至少2台Linux主机(推荐Ubuntu 20.04或CentOS 8)
- 硬件配置:每节点2核CPU/4GB内存/20GB磁盘空间
- 网络要求:节点间网络互通,关闭防火墙或配置放行规则
- 软件依赖:Docker 20.10+、kubeadm 1.23+
二、kubeadm部署方案(推荐)
这是Kubernetes官方推荐的部署方式,适合大多数场景:
-
1. 所有节点初始化
# 禁用swap sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab # 安装Docker sudo apt-get update && sudo apt-get install -y docker.io sudo systemctl enable docker
-
2. 安装kubeadm工具链
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. 初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 \ --apiserver-advertise-address=
\ --image-repository registry.aliyuncs.com/google_containers -
4. 安装CNI网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
三、生产环境优化建议
1. 高可用架构
建议部署3个Master节点组成etcd集群,使用负载均衡器暴露API Server。
2. 存储方案
根据业务需求选择:
- 本地存储:Local PV
- 分布式存储:Ceph RBD
- 云存储:AWS EBS/Azure Disk
四、验证与排错
部署完成后执行以下验证:
kubectl get nodes # 查看节点状态 kubectl get pods -n kube-system # 检查系统组件
常见问题处理:
- 节点NotReady:检查kubelet服务状态和网络插件
- 镜像拉取失败:配置国内镜像源或手动导入镜像