deepseek提供的kubernetes巡检手册

1. 巡检目标

  • 确保集群控制平面(Control Plane)和节点(Worker Nodes)运行正常。

  • 验证网络、存储、日志及监控系统功能完整。

  • 识别资源瓶颈(CPU、内存、存储、网络)。

  • 检查安全配置(RBAC、证书、Pod安全策略)。

  • 确保备份与恢复机制有效。


2. 节点状态检查

2.1 节点健康状态

bash

复制

下载

kubectl get nodes -o wide            # 检查所有节点状态是否为“Ready”
kubectl describe node <node-name>    # 查看节点详情(资源分配、事件、污点等)
kubectl top nodes                    # 节点资源使用率(需Metrics Server支持)

预期结果

  • 所有节点状态为 Ready

  • CPU/内存使用率低于80%,无持续OOM事件。

2.2 系统服务与内核参数

bash

复制

下载

# 登录到节点检查以下服务状态
systemctl status kubelet containerd   # K8s 1.30+ 默认使用containerd
journalctl -u kubelet --since "24h"   # 查看Kubelet日志
sysctl net.ipv4.ip_forward            # 确保网络转发已启用(应为1)

3. 控制平面(Control Plane)检查

3.1 核心组件状态

bash

复制

下载

kubectl get pods -n kube-system -l tier=control-plane  # 检查以下组件:
# - kube-apiserver
# - kube-controller-manager
# - kube-scheduler
# - etcd-*(若使用独立部署)

预期结果

  • 所有Pod状态为 Running,且副本数符合预期(如单节点部署则为1)。

3.2 etcd集群健康

bash

复制

下载

# 登录到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

预期结果

  • 所有etcd节点返回 healthy,无高延迟或连接错误。


4. 网络检查

4.1 网络插件状态

bash

复制

下载

kubectl get pods -n kube-system -l app.kubernetes.io/name=<network-plugin>  # 如cilium、calico
kubectl get networkpolicies -A            # 检查网络策略配置
kubectl get services -A                   # 验证服务Endpoint
4.2 DNS与网络连通性

bash

复制

下载

kubectl get pods -n kube-system -l k8s-app=kube-dns    # CoreDNS状态
kubectl exec -it <test-pod> -- nslookup kubernetes.default  # DNS解析测试
kubectl exec -it <test-pod> -- curl -I <service-ip>:<port>  # 服务连通性测试

5. 存储检查

5.1 PV/PVC状态

bash

复制

下载

kubectl get pv -o wide              # 检查PV绑定状态
kubectl get pvc -A                 # 检查PVC是否Bound
kubectl describe pvc <pvc-name> -n <namespace>  # 查看PVC事件
5.2 CSI驱动检查

bash

复制

下载

kubectl get pods -n kube-system -l app.kubernetes.io/name=<csi-driver-name>
kubectl logs -n kube-system <csi-controller-pod> --tail=50  # CSI控制器日志

6. 日志与监控

6.1 集群日志

bash

复制

下载

kubectl logs -n <namespace> <pod-name> --previous  # 查看崩溃容器的日志
kubectl get pods -n logging-system                 # 假设使用EFK/ELK
6.2 Prometheus与告警

bash

复制

下载

kubectl get pods -n monitoring-system              # Prometheus、Alertmanager
kubectl get prometheusrules -n monitoring-system   # 检查告警规则
kubectl get silences -n monitoring-system          # 查看静默告警

7. 安全与合规

7.1 证书有效期

bash

复制

下载

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -dates  # 检查控制平面证书
kubectl get csr -A                                                # 处理Pending状态的CSR
7.2 RBAC与Pod安全

bash

复制

下载

kubectl get clusterrolebindings -A | grep <user/group>  # 权限分配检查
kubectl get pods -A -o jsonpath='{range .items[*]}{.metadata.namespace}{"/"}{.metadata.name}{"\t"}{.spec.securityContext}{"\n"}{end}'  # Pod安全上下文

8. 备份与恢复

8.1 etcd备份

bash

复制

下载

# 手动备份(需在etcd节点执行)
ETCDCTL_API=3 etcdctl snapshot save snapshot.db \
  --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
8.2 应用数据备份
  • 根据应用类型(如MySQL、MongoDB)执行定期数据备份。


9. 性能优化建议

  • 资源分配

    bash

    复制

    下载

    kubectl top pods -A --sort-by=cpu  # 检查高负载Pod
    kubectl describe pod <pod-name>    # 查看资源请求/限制
  • HPA配置

    bash

    复制

    下载

    kubectl get hpa -A                 # 检查自动扩缩容策略

10. 常见问题处理

问题1:节点状态为“NotReady”
  • 检查项

    • 网络连通性(pingtraceroute)。

    • Kubelet服务状态(systemctl status kubelet)。

    • 磁盘空间(df -h)。

  • 修复命令

    bash

    复制

    下载

    systemctl restart kubelet   # 重启Kubelet服务
问题2:Pod处于“Pending”状态
  • 检查项

    • 资源不足(kubectl describe pod <pod-name> 查看事件)。

    • PVC绑定失败(kubectl describe pvc <pvc-name>)。

    • 节点亲和性/污点配置。


附录:参考文档


通过定期执行以上检查,可确保Kubernetes集群的稳定性。建议结合自动化工具(如Prometheus告警、CronJob定期巡检)实现高效运维。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值