温馨提示×

Debian上K8s安装后如何进行测试

小樊
43
2025-12-22 23:41:39
栏目: 智能运维

Debian 上 Kubernetes 安装后的验证与测试清单


一 基础健康检查

  • 查看节点与控制面组件状态
    • 节点状态:kubectl get nodes(期望状态为 Ready
    • 系统组件:kubectl get pods -n kube-system(核心组件如 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kube-proxy 应为 Running)
    • 集群信息:kubectl cluster-info
    • 组件日志:journalctl -u kubelet(节点上排查 kubelet 问题)
    • 可选:在控制面节点上进一步检查 systemd 服务状态(如 kube-apiserver、kube-controller-manager、kube-scheduler)
      以上可快速确认控制面与节点代理是否正常、集群是否可用。

二 网络与 DNS 验证

  • 验证集群网络插件就绪
    • 检查网络插件 Pod:kubectl get pods -n kube-system | grep -E “calico|flannel|weave”(以实际使用的 CNI 为准),确保 Running。
  • 服务发现与连通性
    • 运行临时调试容器:kubectl run test-pod --image=busybox:1.36 --rm -it --restart=Never – /bin/sh
    • 在容器内解析与访问:
      • nslookup kubernetes.default.svc.cluster.local(应解析到 ClusterIP
      • wget -qO- http://kubernetes.default.svc.cluster.local(应返回 200 与正常响应)
        以上可验证 CNI 网络CoreDNS 是否正常。

三 应用部署与访问测试

  • 部署测试应用
    • 创建 Deployment:kubectl create deployment nginx --image=nginx:alpine --replicas=2
    • 暴露服务:kubectl expose deployment nginx --type=NodePort --port=80(或 --type=ClusterIP 便于内部访问)
  • 访问验证
    • 获取 NodePort:kubectl get svc nginx -o jsonpath=“{.spec.ports[0].nodePort}”
    • 从集群外部访问:curl http://<任意节点IP>:(应返回 Nginx 欢迎页)
    • 从集群内部访问:kubectl port-forward svc/nginx 8080:80 后,curl http://localhost:8080
  • 扩缩与回滚
    • 扩容:kubectl scale deployment nginx --replicas=3
    • 回滚:kubectl rollout undo deployment/nginx
      以上覆盖 部署、服务暴露、伸缩、回滚 的基本能力。

四 运维与可观测性验证

  • 日志与诊断
    • 查看应用日志:kubectl logs -l app=nginx
    • 事件与详情:kubectl describe pod ;kubectl describe svc nginx
  • 指标与自动扩缩(可选)
    • 部署 Metrics Server:kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
    • 创建 HPA:kubectl autoscale deployment nginx --cpu-percent=50 --min=2 --max=5
    • 观察:kubectl get hpa(在增加负载后副本数应自动变化)
      以上验证 日志、事件、指标与 HPA 能力,便于后续容量与稳定性管理。

五 进阶项与清理

  • 进阶能力(按需)
    • Ingress:部署 Ingress 控制器(如 Traefik/Nginx Ingress),创建 Ingress 资源并验证外部域名访问。
    • 持久化存储:创建 PV/PVC 并挂载到应用,验证数据落盘与重启后持久性。
    • 安全基线:检查 Secrets、RBAC、NetworkPolicy 是否按预期配置。
  • 一键清理测试资源
    • kubectl delete service nginx
    • kubectl delete deployment nginx
      以上覆盖常见扩展能力与测试后资源清理,保证集群整洁。

0