在Debian系统上完成Kubernetes(K8s)安装后,需通过节点状态、控制平面、网络、存储、系统服务等多维度检查,确保集群正常运行。以下是具体步骤:
核心命令:kubectl get nodes -o wide
Ready,且版本一致(避免版本冲突)。kubectl describe node <node-name>:查看节点详情(包括资源分配、污点、事件等),确认无异常警告。kubectl top nodes:查看节点CPU、内存使用率(需提前安装Metrics Server),确保使用率低于80%(避免资源瓶颈)。控制平面是K8s的核心,需确保其所有组件正常运行:
核心命令:kubectl get pods -n kube-system -l tier=control-plane
kube-apiserver、kube-controller-manager、kube-scheduler、etcd)。Running,且副本数符合预期(如单节点部署为1,多节点为对应副本数)。kubectl logs -n kube-system <control-plane-pod-name>:查看控制平面Pod日志(如kube-apiserver),排查启动错误。etcd是K8s的键值存储数据库,其健康直接影响集群稳定性:
核心命令(需登录etcd节点执行):
ETCDCTL_API=3 etcdctl \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
endpoint health
healthy,且无高延迟(latency)或连接错误。网络插件(如Flannel、Calico)负责Pod间通信,需确保其正常运行:
核心命令:kubectl get pods -n kube-system -l app.kubernetes.io/name=<network-plugin>
kube-flannel-ds、calico-node)的状态。Running,无重启次数过多(RESTARTS为0或偶数次)。kubectl get networkpolicies -A:检查网络策略是否生效(若有配置)。kubectl exec -it <test-pod> -- nslookup kubernetes.default:测试CoreDNS解析(确保DNS服务正常)。存储是Pod持久化的基础,需检查PV(持久化卷)、PVC(持久化卷声明)状态:
核心命令:
kubectl get pv -o wide:查看PV的绑定状态(Bound/Available),确认容量是否符合预期。kubectl get pvc -A:查看PVC是否已绑定PV(Status为Bound),无Pending状态的PVC。kubectl describe pvc <pvc-name> -n <namespace>:查看PVC事件(如ProvisioningFailed),排查存储分配问题。K8s依赖kubelet和容器运行时(如Containerd)的正常运行,且需正确配置内核参数:
核心命令:
systemctl status kubelet containerd:检查kubelet和containerd服务状态(应为active (running))。journalctl -u kubelet --since "24h":查看kubelet日志(最近24小时),排查启动错误或警告(如failed to start container)。sysctl net.ipv4.ip_forward:检查网络转发是否启用(应为net.ipv4.ip_forward = 1),确保Pod间网络通信正常。通过以上步骤,可全面检查Debian上K8s安装的正确性及集群健康状态。若发现问题,可根据命令输出的错误信息针对性排查(如网络插件未运行、etcd健康异常、节点资源不足等)。