如何安装和配置Kubernetes集群?
如何安装和配置Kubernetes集群:从零开始搭建生产级容器编排平台
作为容器编排领域的事实标准,Kubernetes已成为现代云原生应用的核心基础设施。本文将详细介绍从环境准备到完整集群部署的全过程,包含主流的安装方式和常见问题解决方案。
一、环境准备
1.1 硬件要求
- 主节点:至少2核CPU/2GB内存/30GB磁盘
- 工作节点:建议4核CPU/8GB内存/40GB磁盘
- 所有节点需要保持时间同步(NTP)
1.2 系统要求
- 支持的操作系统:Ubuntu 18.04+/CentOS 7+/RHEL 7+
- 禁用交换分区:
swapoff -a
- 确保唯一主机名和MAC地址
- 开放必要端口:6443, 2379-2380, 10250-10252等
二、安装方法对比
方法 | 适用场景 | 复杂度 | 生产可用性 |
---|---|---|---|
kubeadm | 标准安装 | 中等 | ★ ★ ★ ★ ☆ |
minikube | 本地开发 | 简单 | ★ ☆ ☆ ☆ ☆ |
kops | AWS生产环境 | 复杂 | ★ ★ ★ ★ ★ |
三、使用kubeadm安装步骤
3.1 所有节点安装依赖
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y \
apt-transport-https ca-certificates curl \
software-properties-common
# CentOS/RHEL
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.2 安装Docker容器运行时
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
3.3 安装kubeadm/kubelet/kubectl
sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
3.4 主节点初始化
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.5 安装网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
3.6 加入工作节点
使用主节点初始化时生成的join命令:
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:xxxxxxxxxx
四、验证集群状态
kubectl get nodes
kubectl get pods --all-namespaces
kubectl cluster-info
预期输出应显示所有节点状态为Ready,核心组件运行正常。
五、常见问题解决
5.1 镜像拉取失败
解决方案:配置国内镜像源或手动拉取镜像
5.2 节点NotReady状态
检查网络插件是否安装成功,查看kubelet日志:
journalctl -u kubelet -f
5.3 证书过期
使用kubeadm certs renew
命令更新证书
六、进阶配置建议
- 配置RBAC权限控制
- 部署集群监控(Prometheus+Grafana)
- 设置资源配额和限制
- 配置持久化存储方案
- 启用集群自动扩展功能
通过上述步骤,您已经成功搭建了一个基础Kubernetes集群。对于生产环境,建议进一步考虑高可用部署、安全加固和备份策略。Kubernetes生态系统丰富,后续可以逐步探索Service Mesh、Serverless等高级功能。