温馨提示×

如何验证CentOS上Kubernetes安装成功

小樊
52
2025-09-22 10:55:31
栏目: 智能运维

如何验证CentOS上Kubernetes安装成功

验证CentOS上Kubernetes(k8s)安装成功,需通过组件状态检查节点与Pod可用性验证基础功能测试三个核心维度综合判断,以下是具体步骤:

1. 检查Kubernetes核心组件服务状态

确保Kubernetes关键系统服务(kubelet、kube-apiserver、etcd)正在运行,这是集群正常运作的基础。

  • 查看kubelet状态(所有节点均需执行):
    systemctl status kubelet 
    若输出显示Active: active (running),则表示kubelet服务正常。
  • 查看kube-apiserver状态(仅Master节点执行):
    systemctl status kube-apiserver 
    正常状态应为Active: active (running)
  • 查看etcd状态(仅Master节点执行,若使用etcd作为数据库):
    systemctl status etcd 
    正常状态应为Active: active (running)

2. 验证节点状态

确认所有节点(Master+Worker)已成功加入集群并处于可用状态。
在Master节点上执行以下命令:

kubectl get nodes 

预期输出中,所有节点的STATUS列应显示为Ready(如master Ready master 1h v1.20.0),表示节点已正常注册并可接收调度。

3. 检查Pod运行状态

Pod是Kubernetes的最小调度单元,需确保系统Pod(尤其是kube-system命名空间下的核心组件)正常运行。

  • 查看所有命名空间的Pod状态
    kubectl get pods --all-namespaces 
    所有Pod的STATUS列应显示为Running(如kube-apiserver-master Running 1h),若有PendingCrashLoopBackOff状态的Pod,需进一步排查原因。

4. 测试基础功能(创建Pod与Service)

通过创建简单的应用Pod和Service,验证集群的资源调度、负载均衡功能是否正常。

  • 创建Nginx Pod
    kubectl run nginx --image=nginx --port=80 --restart=Never 
    执行后,通过以下命令检查Pod状态:
    kubectl get pods 
    预期输出中,nginx Pod的STATUS应为Running
  • 暴露Pod为Service(NodePort类型)
    kubectl expose deployment nginx --type=NodePort --port=80 
    查看Service详情,获取分配的NodePort(如8080):
    kubectl get svc nginx 
    在任意节点上通过浏览器或curl访问http://<节点IP>:<NodePort>,若能显示Nginx默认页面,则说明集群的网络功能正常。

5. 验证kubectl配置与版本

确保kubectl命令行工具已正确配置,且版本与集群匹配。

  • 查看kubectl版本
    kubectl version 
    输出中应包含Client Version(本地kubectl版本)和Server Version(集群版本),两者需兼容(如均为v1.20.0)。
  • 检查kubectl配置文件
    确认~/.kube/config文件存在且权限正确(属主为用户,权限为600),该文件存储了集群访问凭证。

通过以上步骤逐一验证,若所有检查项均符合预期,则可判定CentOS上的Kubernetes安装成功。若过程中出现异常(如节点未Ready、Pod无法启动),可通过journalctl -u kubelet -f查看kubelet实时日志,或检查网络插件(如Flannel、Calico)的状态(kubectl get pods -n kube-system)进一步排查。

0