CentOS K8s安装后如何进行测试
导读:CentOS 上 Kubernetes 安装后的验证与测试清单 一 基础连通性与组件状态检查 检查节点与控制面组件状态 查看节点是否 Ready:kubectl get nodes 查看系统组件是否就绪:kubectl get pod...
CentOS 上 Kubernetes 安装后的验证与测试清单
一 基础连通性与组件状态检查
- 检查节点与控制面组件状态
- 查看节点是否 Ready:
kubectl get nodes - 查看系统组件是否就绪:
kubectl get pods -n kube-system - 查看 kubelet 服务:
systemctl status kubelet(应为 active (running))
- 查看节点是否 Ready:
- 若节点为 NotReady,优先检查并安装 CNI 网络插件(如 Flannel),安装后再次观察节点状态是否变为 Ready。
二 部署应用与访问测试
- 部署一个 Nginx 应用并暴露访问
- 部署:
kubectl create deployment nginx --image=nginx --replicas=2 - 暴露为 NodePort:
kubectl expose deployment nginx --type=NodePort --port=80 - 获取访问端口:
kubectl get svc nginx,记录 NodePort(例如 3xxxx) - 访问测试:
- 集群内:
kubectl run -it --rm test-nginx --image=busybox:1.36 --restart=Never -- wget -qO- http://nginx.default.svc.cluster.local - 集群外:
curl http://< 任意节点IP> :< NodePort>
- 集群内:
- 部署:
- 预期结果:页面返回 Welcome to nginx!,说明 Pod 调度、Service 负载均衡、网络连通性均正常。
三 网络与服务发现验证
- 验证 Pod 间网络 与 Service DNS
- 查看 Pod IP:
kubectl get pods -o wide - Pod 间连通性(ICMP/端口):
kubectl exec -it < pod-name> -- ping < 目标PodIP>kubectl exec -it < pod-name> -- nc -zv < 目标PodIP> 80
- DNS 解析测试:
kubectl exec -it < pod-name> -- nslookup kubernetes.default.svc.cluster.localkubectl exec -it < pod-name> -- nslookup nginx.default.svc.cluster.local
- 查看 Pod IP:
- 验证 Service 与 Endpoints
kubectl get svc nginx与kubectl get endpoints nginx,确认 Endpoints 中有后端 Pod IP- 从问题 Pod 内测试访问 Service ClusterIP:
kubectl exec -it < pod-name> -- nc -zv < svc-cluster-ip> 80
- 验证 kube-proxy 工作正常
kubectl get pods -n kube-system | grep kube-proxy- 异常时查看日志:
kubectl logs < kube-proxy-pod> -n kube-system
- 预期结果:Pod 之间可互通、服务名可解析、Service 后端有 Endpoints 且可访问。
四 弹性自愈与伸缩测试
- 自愈能力
- 删除一个 Pod:
kubectl delete pod < nginx-pod-name> - 观察重建:
kubectl get pods,应被 Deployment 自动拉起,数量恢复为 replicas 设定值
- 删除一个 Pod:
- 水平伸缩
- 扩容:
kubectl scale deployment nginx --replicas=5 - 验证:
kubectl get pods数量变为 5
- 扩容:
- 预期结果:删除后自动重建;扩容后 Pod 数量与 Service 后端同步更新。
五 常见故障快速排查
- 节点 NotReady:未安装或未生效 CNI(如 Flannel),安装后复查:
kubectl get nodes与kubectl get pods -n kube-flannel - Service ClusterIP 不可达:检查 Service 配置与 Endpoints 是否为空;在 Pod 内
nslookup与nc测试;查看 kube-proxy 状态与日志 - Ingress 502:核对 Ingress 的 host/path/service/port;确认后端 Service/Endpoints 正常;查看 Ingress Controller 日志
- 镜像拉取失败:提前导入所需镜像或配置国内镜像源,避免节点加入/启动因拉取超时失败。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS K8s安装后如何进行测试
本文地址: https://pptw.com/jishu/752162.html
