第 3 章 OVN-Kubernetes 故障排除


OVN-Kubernetes 具有许多内置健康检查和日志来源。按照这些部分中的说明检查集群。如果需要一个支持问题单,请参阅 支持指南来通过 must-gather 收集其他信息。仅在支持团队要求这样做时,才使用 -- gather_network_logs

ovnkube-control-planeovnkube-node pod 配置有就绪度探测的容器。

先决条件

  • 访问 OpenShift CLI(oc)。
  • 您可以使用 cluster-admin 权限访问集群。
  • 您已安装了 jq

流程

  1. 运行以下命令,查看 ovnkube-node 就绪度探测的详情:

    $ oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node \
    -o json | jq '.items[0].spec.containers[] | .name,.readinessProbe'
    Copy to Clipboard Toggle word wrap

    ovnkube-node pod 中的北向和南向数据库容器的就绪度探测会检查数据库和 ovnkube-controller 容器的健康状态。

    ovnkube-node pod 中的 ovnkube-controller 容器有一个就绪度探测来验证 OVN-Kubernetes CNI 配置文件是否存在,这代表 pod 没有运行,或者没有准备好接受配置 pod 的请求。

  2. 使用以下命令,显示命名空间的所有事件,包括探测失败:

    $ oc get events -n openshift-ovn-kubernetes
    Copy to Clipboard Toggle word wrap
  3. 仅显示特定 pod 的事件:

    $ oc describe pod ovnkube-node-9lqfk -n openshift-ovn-kubernetes
    Copy to Clipboard Toggle word wrap
  4. 显示集群网络 Operator 的消息和状态:

    $ oc get co/network -o json | jq '.status.conditions[]'
    Copy to Clipboard Toggle word wrap
  5. 运行以下脚本,显示 ovnkube-node pod 中每个容器的 就绪状态

    $ for p in $(oc get pods --selector app=ovnkube-node -n openshift-ovn-kubernetes \
    -o jsonpath='{range.items[*]}{" "}{.metadata.name}'); do echo === $p ===;  \
    oc get pods -n openshift-ovn-kubernetes $p -o json | jq '.status.containerStatuses[] | .name, .ready'; \
    done
    Copy to Clipboard Toggle word wrap
    注意

    预期的是所有容器状态都报告为 true。就绪度探测失败,将状态设置为 false

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat