温馨提示×

Debian k8s部署后如何验证

小樊
46
2026-07-06 09:30:27
栏目: 智能运维

在 Debian 上部署 Kubernetes(k8s)后,可以从集群状态、节点、组件、网络、应用等多个层面进行验证。下面给你一套常用且实用的验证步骤,适用于 kubeadm 部署方式(最常见)。


一、基础环境检查

1. 检查 kubeconfig

确保 kubectl 能访问集群:

kubectl cluster-info

正常输出示例:

Kubernetes control plane is running at https://...
CoreDNS is running at ...

2. 查看节点状态

kubectl get nodes

✅ 所有节点状态应为 Ready

kubectl get nodes -o wide

可查看内核版本、OS、kubelet 版本等。


3. 查看节点详细信息

kubectl describe node <node-name>

重点检查:

  • Ready 状态
  • KubeletReady
  • NetworkUnavailable=false

二、核心组件验证(Control Plane)

4. 查看 kube-system Pod

kubectl get pods -n kube-system

✅ 应看到以下组件(状态为 Running):

  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler
  • etcd
  • coredns
  • kube-proxy
  • CNI 网络插件(如 calico、flannel)

5. 检查 kubelet 状态(所有节点)

systemctl status kubelet
journalctl -u kubelet -f

三、网络验证

6. 检查 CNI 网络插件

以 Calico 为例:

kubectl get pods -n kube-system -l k8s-app=calico-node

查看网络配置:

kubectl get ippools.crd.projectcalico.org

7. DNS 验证(非常重要)

kubectl get pods -n kube-system -l k8s-app=kube-dns

四、部署测试应用验证

8. 部署一个测试 Nginx

kubectl create deployment nginx-test --image=nginx
kubectl expose deployment nginx-test --port=80 --type=NodePort

查看:

kubectl get pods
kubectl get svc

访问测试:

curl http://<NodeIP>:<NodePort>

清理:

kubectl delete deploy nginx-test
kubectl delete svc nginx-test

9. Pod 网络连通性测试

kubectl run test-pod --image=busybox -it --rm -- sh

在 Pod 内测试:

nslookup kubernetes.default
ping <另一节点Pod IP>

五、集群功能验证

10. 查看组件健康状态

kubectl get componentstatuses

(新版本已逐步废弃,建议直接看 Pod)


11. etcd 状态(如为 kubeadm 部署)

kubectl exec -n kube-system etcd-<node> -- \
etcdctl endpoint health \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
--cacert=/etc/kubernetes/pki/etcd/ca.crt

六、常见异常排查

节点 NotReady

kubectl describe node <node>
journalctl -u kubelet

Pod 一直 Pending

kubectl describe pod <pod>

DNS 不通

kubectl get pods -n kube-system -l k8s-app=kube-dns

七、快速验证清单(推荐)

kubectl get nodes → Ready
kubectl get pods -A → 无 CrashLoopBackOff
✅ CoreDNS 正常
✅ 能创建 Pod 并访问网络
✅ NodePort / ClusterIP 正常


如果你愿意,可以告诉我:

  • 你用的是 kubeadm / 二进制 / Rancher / k3s
  • Debian 版本(11 / 12)
  • CNI 插件(Calico / Flannel / Cilium)

我可以给你更精确的验证命令和排错方案

0