CentOS上Kubernetes安装后的验证方法
CentOS上Kubernetes安装后的验证方法
1. 检查Kubernetes组件状态
使用kubectl
命令查看集群核心组件(如kube-apiserver
、kube-controller-manager
、kube-scheduler
、kubelet
、kube-proxy
等)的运行状态。若所有组件均显示为Running
,则说明组件部署正常。
kubectl get componentstatuses
或简化查看关键组件状态:
kubectl get cs
预期输出示例:
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {
"health":"true"}
2. 验证节点状态
通过kubectl get nodes
命令确认所有节点(Master和Worker)均已成功加入集群并处于Ready
状态。Ready
状态表示节点已通过健康检查,可以接收Pod调度。
kubectl get nodes
预期输出示例:
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane 1h v1.28.2
k8s-worker1 Ready <
none>
30m v1.28.2
3. 测试Pod部署与运行
创建一个简单的Nginx Pod,验证Kubernetes是否能正确调度、启动容器并维持其运行。
- 创建Pod定义文件
test-pod.yaml
:apiVersion: v1 kind: Pod metadata: name: test-pod spec: containers: - name: nginx-container image: nginx:latest ports: - containerPort: 80
- 部署Pod:
kubectl apply -f test-pod.yaml
- 检查Pod状态:
预期输出中kubectl get pods -o wide
STATUS
列应为Running
,READY
列表示容器就绪(如1/1
表示1个容器已就绪)。 - 访问Pod(可选):
若需验证Pod对外服务能力,可为其创建Service并暴露端口(如NodePort
),然后通过节点IP访问。
预期返回Nginx默认欢迎页面。kubectl expose pod test-pod --type=NodePort --port=80 NODE_PORT=$(kubectl get svc test-pod -o jsonpath='{ .spec.ports[0].nodePort} ') curl http://< 节点IP> :$NODE_PORT
4. 检查网络插件运行状态
若安装了网络插件(如Flannel、Calico),需确认插件Pod是否正常运行。以Flannel为例:
kubectl get pods -n kube-system -l app=flannel
预期输出中所有Pod的STATUS
应为Running
,表示网络插件已就绪,支持Pod间通信。
5. 验证Kubernetes版本一致性
确保kubectl
客户端、Kubernetes集群服务端及节点组件的版本兼容。常用命令:
- 查看
kubectl
客户端版本:kubectl version --client --short
- 查看集群服务端版本:
kubectl version --short | grep Server
- 查看节点组件版本(如kubelet):
预期结果:客户端与服务端版本应一致(或相差不超过1个小版本),节点组件版本应与服务端匹配。kubelet --version
6. 查看集群事件
通过kubectl get events
命令查看集群近期事件(如节点加入、Pod调度、组件异常等),快速识别潜在问题。
kubectl get events --sort-by='.metadata.creationTimestamp'
重点关注Warning
级别的事件(如FailedScheduling
、Unhealthy
),并根据事件描述排查问题。
7. 检查网络连通性
通过部署的测试Pod访问其他服务(如集群内的CoreDNS),验证Pod间网络是否通畅。例如:
kubectl run -it --rm --image=busybox:1.28 busybox -- sh
# 在Busybox容器内执行
wget -qO- http://kubernetes.default.svc.cluster.local
预期返回Kubernetes API服务器的默认响应(如{
"paths":["/api","/api/v1","/apis"]}
),表示Pod间网络通信正常。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS上Kubernetes安装后的验证方法
本文地址: https://pptw.com/jishu/732056.html