验证CentOS上Kubernetes(k8s)安装成功,需通过组件状态检查、节点与Pod可用性验证、基础功能测试三个核心维度综合判断,以下是具体步骤:
确保Kubernetes关键系统服务(kubelet、kube-apiserver、etcd)正在运行,这是集群正常运作的基础。
systemctl status kubelet
若输出显示Active: active (running)
,则表示kubelet服务正常。systemctl status kube-apiserver
正常状态应为Active: active (running)
。systemctl status etcd
正常状态应为Active: active (running)
。确认所有节点(Master+Worker)已成功加入集群并处于可用状态。
在Master节点上执行以下命令:
kubectl get nodes
预期输出中,所有节点的STATUS
列应显示为Ready
(如master Ready master 1h v1.20.0
),表示节点已正常注册并可接收调度。
Pod是Kubernetes的最小调度单元,需确保系统Pod(尤其是kube-system
命名空间下的核心组件)正常运行。
kubectl get pods --all-namespaces
所有Pod的STATUS
列应显示为Running
(如kube-apiserver-master Running 1h
),若有Pending
或CrashLoopBackOff
状态的Pod,需进一步排查原因。通过创建简单的应用Pod和Service,验证集群的资源调度、负载均衡功能是否正常。
kubectl run nginx --image=nginx --port=80 --restart=Never
执行后,通过以下命令检查Pod状态:kubectl get pods
预期输出中,nginx
Pod的STATUS
应为Running
。kubectl expose deployment nginx --type=NodePort --port=80
查看Service详情,获取分配的NodePort
(如8080
):kubectl get svc nginx
在任意节点上通过浏览器或curl
访问http://<节点IP>:<NodePort>
,若能显示Nginx默认页面,则说明集群的网络功能正常。确保kubectl
命令行工具已正确配置,且版本与集群匹配。
kubectl version
输出中应包含Client Version
(本地kubectl版本)和Server Version
(集群版本),两者需兼容(如均为v1.20.0
)。~/.kube/config
文件存在且权限正确(属主为用户,权限为600
),该文件存储了集群访问凭证。通过以上步骤逐一验证,若所有检查项均符合预期,则可判定CentOS上的Kubernetes安装成功。若过程中出现异常(如节点未Ready、Pod无法启动),可通过journalctl -u kubelet -f
查看kubelet实时日志,或检查网络插件(如Flannel、Calico)的状态(kubectl get pods -n kube-system
)进一步排查。