1. 巡检目标
-
确保集群核心组件(Control Plane、Worker节点)健康运行。
-
验证存储、网络、日志和监控系统功能正常。
-
识别潜在资源瓶颈或配置问题。
-
确保安全策略和证书有效性。
2. 节点状态检查
2.1 节点健康状态
bash
复制
下载
oc get nodes # 检查所有节点状态是否为“Ready” oc describe node <node-name> # 查看节点详情(资源、事件、污点等) oc get nodes -o wide # 查看节点IP、OS、内核版本等信息
2.2 节点资源使用
bash
复制
下载
oc adm top nodes # 检查节点CPU/内存使用率(需安装Metrics Server) # 预期:CPU/Memory使用率低于80%,无持续OOM事件。
2.3 系统服务状态
bash
复制
下载
# 登录到节点检查关键服务 systemctl status kubelet crio # OpenShift 4.X使用CRI-O容器运行时 journalctl -u kubelet --since "24 hours ago" # 查看Kubelet日志
3. 核心组件检查
3.1 Control Plane组件
bash
复制
下载
oc get pods -n openshift-apiserver # API Server oc get pods -n openshift-etcd # etcd集群 oc get pods -n openshift-kube-apiserver # Kube API Server oc get pods -n openshift-kube-controller-manager oc get pods -n openshift-kube-scheduler # 预期:所有Pod状态为“Running”,且副本数符合预期。
3.2 etcd健康检查
bash
复制
下载
oc get etcd -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Healthy")]}{.message}{"\n"}' # 集群健康状态 oc rsh -n openshift-etcd etcd-<pod-name> etcdctl endpoint health --cluster # 预期:所有etcd成员报告“healthy”,无高延迟。
4. 存储检查
4.1 PV/PVC状态
bash
复制
下载
oc get pv -o wide # 检查PV绑定状态 oc get pvc -A # 检查PVC是否Bound oc describe pvc <pvc-name> -n <namespace> # 查看PVC事件
4.2 存储后端检查
-
根据存储类型(如Ceph、NFS、CSI驱动)检查后端系统健康状态。
-
示例(Ceph):
bash
复制
下载
oc rsh -n openshift-storage <ceph-tool-pod> ceph -s
5. 网络检查
5.1 路由与服务
bash
复制
下载
oc get routes -A # 检查路由配置是否正常 oc get svc -A # 验证服务Endpoint是否正确 oc get network.operator cluster # 检查网络Operator状态
5.2 DNS与网络策略
bash
复制
下载
oc get pods -n openshift-dns # DNS Pod状态 oc exec -n <namespace> <pod-name> -- curl <service-name> # 服务连通性测试 oc get networkpolicy -A # 网络策略配置
5.3 防火墙与端口
-
确保Control Plane节点开放必要端口(如6443、2379-2380)。
-
检查节点间网络延迟和带宽(使用
ping
/iperf3
)。
6. 日志与监控
6.1 集群日志(EFK)
bash
复制
下载
oc get pods -n openshift-logging # 检查Elasticsearch/Fluentd/Kibana状态 oc logs -n openshift-logging fluentd-<pod-name> --tail=50 # Fluentd日志
6.2 Prometheus与Alertmanager
bash
复制
下载
oc get pods -n openshift-monitoring # 监控组件状态 oc get alerts -n openshift-monitoring # 查看当前触发的告警
7. 安全与合规
7.1 证书有效期
bash
复制
下载
oc get csr -A # 检查未处理的证书签名请求 oc adm ca inspect-cert <cert> # 检查证书过期时间
7.2 RBAC与SCC
bash
复制
下载
oc get clusterrolebindings -A | grep -i <user/group> # 权限分配检查 oc get scc -o yaml # 安全上下文约束(SCC)配置
8. 备份与恢复
8.1 etcd备份验证
bash
复制
下载
oc get etcd -o jsonpath='{.items[0].status.backupServiceStatus.backupJobStatus}' # 检查自动备份状态 # 手动备份命令(需在Control Plane节点执行): etcdctl snapshot save /path/to/snapshot.db --cacert=/etc/etcd/ca.crt --cert=/etc/etcd/peer.crt --key=/etc/etcd/peer.key
8.2 应用数据备份
-
根据应用类型(如数据库)执行定期数据备份。
9. 性能优化建议
-
检查Pod资源请求/限制是否合理:
oc adm top pods -A
-
分析节点负载均衡:
oc get pods -o wide -A | grep <node-name>
-
调整Horizontal Pod Autoscaler(HPA)配置。
10. 常见问题处理
问题1:节点状态为“Not Ready”
-
检查方向:网络连接、kubelet服务、磁盘空间、内存压力。
-
命令:
oc describe node <node-name>
查看事件日志。
问题2:Pod无法启动(CrashLoopBackOff)
-
检查方向:应用配置、资源限制、存储挂载、容器日志。
-
命令:
oc logs <pod-name> -n <namespace> --previous
附录:参考文档
通过定期执行以上检查,可有效保障OpenShift集群的稳定性和可靠性。建议结合自动化脚本(如CronJob)实现高频次关键指标巡检。