-
环境准备:
- 确认所有CentOS节点(建议7+/8+)已完成基础配置,包括主机名解析、时间同步、关闭防火墙及SELinux(
setenforce 0
永久生效需修改/etc/selinux/config
)。 - 确保所有节点已禁用swap(
swapoff -a
并注释/etc/fstab
中的swap条目)。
- 确认所有CentOS节点(建议7+/8+)已完成基础配置,包括主机名解析、时间同步、关闭防火墙及SELinux(
-
安装容器运行时:
- 推荐安装Docker(
yum install -y docker-ce
)或containerd,配置cgroup驱动为systemd(修改/etc/docker/daemon.json
添加"exec-opts": ["native.cgroupdriver=systemd"]
后重启服务)。
- 推荐安装Docker(
-
安装kubeadm/kubelet/kubectl:
- 配置Kubernetes的yum源,通过
yum install -y kubeadm-<version> kubelet-<version> kubectl-<version>
安装指定版本(需保持版本一致性),完成后执行systemctl enable --now kubelet
。
- 配置Kubernetes的yum源,通过
-
初始化Master节点:
- 执行
kubeadm init --apiserver-advertise-address=<master-ip> --pod-network-cidr=10.244.0.0/16
(若使用Flannel网络插件),记录输出的join命令。 - 根据提示配置kubectl:
mkdir -p $HOME/.kube
,cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
,并验证节点状态(kubectl get nodes
)。
- 执行
-
部署网络插件:
- 应用Flannel配置:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
,等待Pod就绪。
- 应用Flannel配置:
-
加入Worker节点:
- 在Worker节点执行kubeadm join命令(包含token及ca-cert-hash),使用
kubeadm token create --print-join-command
可生成新token(默认24小时过期)。
- 在Worker节点执行kubeadm join命令(包含token及ca-cert-hash),使用
-
验证集群:
- 在Master节点运行
kubectl get pods -A
确认所有核心组件(coredns/kube-proxy等)及网络插件处于Running状态。
- 在Master节点运行
注意事项:
- 生产环境需配置高可用(多Master节点+负载均衡器)
- 建议提前规划证书有效期、etcd存储路径等配置参数
- 若需GPU支持,需额外安装nvidia-docker2及k8s-device-plugin