搜索

1.33. Submariner add-on 状态降级的故障排除

download PDF

将 Submariner add-on 添加到集群集中的集群后,Connection status, Agent status, 和 Gateway nodes 会显示集群的意外状态。

1.33.1. 症状: Submariner 附加组件状态为 degraded

将 Submariner add-on 添加到集群中,在 Gateway nodes, Agent status, 和 Connection status 中显示以下状态:

  • 带有标签的网关节点

    • Progressing: 标记网关节点的进程已启动。。
    • Nodes not labeled: 网关节点没有标记,可能因为标记它们的进程还没有完成。
    • Nodes not labeled: 网关节点尚未标记,可能会因为进程正在等待另一个进程完成。
    • Nodes labeled: 网关节点已标记。
  • 代理状态

    • progressing: Submariner 代理的安装已启动。
    • degraded: Submariner 代理没有运行,可能会因为它仍在进行中。
  • 连接状态

    • progressing:在 Submariner add-on 启动时建立连接的过程。
    • degraded:连接未就绪。如果您刚才安装了附加组件,则进程可能仍在进行中。如果在连接已经建立并运行后,有两个集群丢失了相互的连接。当有多个集群时,如果任何集群处于断开连接状态,则所有集群都会显示一个 Degraded 状态。

它还会显示哪些集群已连接,以及哪些集群处于断开连接状态。

1.33.2. 解决问题: Submariner 附加组件状态为 degraded

  • 当流程完成时,降级状态通常会自行解决。您可以点击表中的状态来查看进程的当前步骤。您可以使用这些信息来确定该过程是否完成,并且需要执行其他故障排除步骤。
  • 对于无法解决问题的问题,请完成以下步骤以排除这个问题:

    1. 您可以使用带有 subctl 程序的 diagnose 命令,在存在以下条件时在 Submariner 连接上运行一些测试:

      1. Agent 状态Connection 状态 处于 Degraded 状态。diagnose 命令提供有关此问题的详细分析。
      2. 控制台中都不是绿色的,但网络连接无法正常工作。diagnose 命令有助于确认控制台外没有其他连接或部署问题。最好在任何部署之后运行 diagnose 命令来识别问题

        如需有关如何运行命令的更多信息,请参阅 Submariner 中的 diagnose

    2. 如果问题继续处于 Connection 状态,您可以先运行 subctl 工具的 diagnose 诊断命令来获取两个 Submariner 集群之间的连接的详细状态。该命令的格式是:

      subctl diagnose all --kubeconfig <path-to-kubeconfig-file>

      使用 kubeconfig 文件的路径替换 path-to-kubeconfig-file。有关命令的更多信息,请参阅 Submariner 文档中的 diagnose 部分。

    3. 检查防火墙设置。有时候,连接的问题是由防止集群进行通信的防火墙权限问题造成的。这可能导致 Connection 状态显示为 degraded。运行以下命令检查防火墙问题:

      subctl diagnose firewall inter-cluster <path-to-local-kubeconfig> <path-to-remote-cluster-kubeconfig>

      path-to-local-kubeconfig 替换为一个集群的 kubeconfig 文件的路径。

      path-to-remote-kubeconfig 替换为其他集群的 kubeconfig 文件的路径。您可以运行 subctl 工具程序的 verify 命令来测试两个 Submariner 集群间的连接。该命令的基本格式为:

    4. 如果问题继续,并处于 Connection 状态,您可以使用 subctl 工具运行 verify 命令以测试两个 Submariner 集群之间的连接。该命令的基本格式为:

      subctl verify --kubecontexts <cluster1>,<cluster2> [flags]

      cluster1cluster2 替换为您要测试的集群的名称。有关该命令的更多信息,请参阅 Submariner 文档中的 验证

    5. 在故障排除步骤解决此问题后,使用 benchmark 命令和 subctl 工具建立一个基础,以便在您运行其他诊断时进行比较。

      有关该命令选项的更多信息,请参阅 Submariner 文档中的 基准 部分。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.