26.9. MetalLB 日志记录、故障排除和支持
如果您需要对 MetalLB 配置进行故障排除,请查看以下部分来了解常用命令。
26.9.1. 设置 MetalLB 日志记录级别 复制链接链接已复制到粘贴板!
MetalLB 在带有默认设置 info
的容器中使用 FRRouting(FRR)会生成大量日志。您可以通过设置 logLevel
来控制生成的日志的详细程度,如下例所示。
通过将 logLevel
设置为 debug
来深入了解 MetalLB,如下所示:
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
创建一个文件,如
setdebugloglevel.yaml
,其内容类似以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用配置:
oc replace -f setdebugloglevel.yaml
$ oc replace -f setdebugloglevel.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用
oc replace
可以被理解为,metallb
CR 已被创建,您在此处更改了日志级别。显示
speaker
pod 的名称:oc get -n metallb-system pods -l component=speaker
$ oc get -n metallb-system pods -l component=speaker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE speaker-2m9pm 4/4 Running 0 9m19s speaker-7m4qw 3/4 Running 0 19s speaker-szlmx 4/4 Running 0 9m19s
NAME READY STATUS RESTARTS AGE speaker-2m9pm 4/4 Running 0 9m19s speaker-7m4qw 3/4 Running 0 19s speaker-szlmx 4/4 Running 0 9m19s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意重新创建发言人和控制器 Pod,以确保应用更新的日志记录级别。对于 MetalLB 的所有组件,会修改日志记录级别。
查看
speaker
日志:oc logs -n metallb-system speaker-7m4qw -c speaker
$ oc logs -n metallb-system speaker-7m4qw -c speaker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看 FRR 日志:
oc logs -n metallb-system speaker-7m4qw -c frr
$ oc logs -n metallb-system speaker-7m4qw -c frr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
26.9.1.1. FRRouting(FRR)日志级别 复制链接链接已复制到粘贴板!
下表描述了 FRR 日志记录级别。
日志级别 | 描述 |
---|---|
| 为所有日志记录级别提供所有日志信息。 |
|
这些信息有助于相关人员进行问题诊断。设置为 |
| 提供始终应记录的信息,但在正常情况下,不需要用户干预。这是默认的日志记录级别。 |
|
任何可能导致 |
|
对 |
| 关闭所有日志。 |
26.9.2. BGP 故障排除问题 复制链接链接已复制到粘贴板!
红帽支持在 speaker
Pod 的容器中使用 FRRouting(FRR)的 BGP 实施。作为集群管理员,如果您需要对 BGP 配置问题进行故障排除,您需要在 FRR 容器中运行命令。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
显示
speaker
pod 的名称:oc get -n metallb-system pods -l component=speaker
$ oc get -n metallb-system pods -l component=speaker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE speaker-66bth 4/4 Running 0 56m speaker-gvfnf 4/4 Running 0 56m ...
NAME READY STATUS RESTARTS AGE speaker-66bth 4/4 Running 0 56m speaker-gvfnf 4/4 Running 0 56m ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 FRR 的运行配置:
oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show running-config"
$ oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show running-config"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 BGP 概述:
oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show bgp summary"
$ oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show bgp summary"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示接收地址池的 BGP 对等点:
oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show bgp ipv4 unicast 203.0.113.200/30"
$ oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show bgp ipv4 unicast 203.0.113.200/30"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
ipv4
替换为ipv6
,以显示接收 IPv6 地址池的 BGP 对等点。将203.0.113.200/30
替换为地址池的 IPv4 或 IPv6 IP 地址范围。输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确认输出中包含 BGP peer 的 IP 地址。
26.9.3. BFD 问题故障排除 复制链接链接已复制到粘贴板!
红帽支持双向转发检测(BFD)实施,在 speaker
Pod 中使用 FRRouting(FRR)。BFD 实施依赖于 BFD 对等点,也被配置为带有已建立的 BGP 会话的 BGP 对等点。作为集群管理员,如果您需要排除 BFD 配置问题,则需要在 FRR 容器中运行命令。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
显示
speaker
pod 的名称:oc get -n metallb-system pods -l component=speaker
$ oc get -n metallb-system pods -l component=speaker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE speaker-66bth 4/4 Running 0 26m speaker-gvfnf 4/4 Running 0 26m ...
NAME READY STATUS RESTARTS AGE speaker-66bth 4/4 Running 0 26m speaker-gvfnf 4/4 Running 0 26m ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 BFD 对等点:
oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show bfd peers brief"
$ oc exec -n metallb-system speaker-66bth -c frr -- vtysh -c "show bfd peers brief"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Session count: 2 SessionId LocalAddress PeerAddress Status ========= ============ =========== ====== 3909139637 10.0.1.2 10.0.2.3 up <.>
Session count: 2 SessionId LocalAddress PeerAddress Status ========= ============ =========== ====== 3909139637 10.0.1.2 10.0.2.3 up <.>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认
PeerAddress
列包含每个 BFD 对等点。如果输出没有列出输出要包含的 BFD peer IP 地址,并与 peer 对 BGP 连接性进行故障排除。如果状态字段显示down
,请检查在节点和对等点间的链接和设备连接。您可以使用oc get pods -n metallb-system speaker-66bth -o jsonpath='{.spec.nodeName}'
命令确定 speaker pod 的节点名称。
26.9.4. BGP 和 BFD 的 MetalLB 指标 复制链接链接已复制到粘贴板!
OpenShift Container Platform 捕获与 BGP peer 和 BFD 配置集相关的 MetalLB 的以下 Prometheus 指标。
Name | 描述 |
---|---|
| 统计从每个 BFD peer 接收的 BFD 控制数据包的数量。 |
| 统计发送到每个 BFD 对等点的 BFD 控制数据包的数量。 |
| 统计从每个 BFD 对等点接收的 BFD 回显数据包的数量。 |
| 计算发送到每个 BFD 的 BFD 回显数据包的数量。 |
|
统计 BFD 会话进入 |
|
指示与 BFD 对等点的连接状态。 |
|
统计 BFD 会话进入 |
| 统计每个 BFD Zebra 通知的数量。 |
Name | 描述 |
---|---|
| 计算公告给 BGP 对等的负载均衡器 IP 地址前缀的数量。术语 前缀(prefix) 和聚合路由(aggregated route) 具有相同的含义。 |
|
指示与 BGP 对等点的连接状态。 |
| 计算发送到每个 BGP 对等点的 BGP 更新消息数量。 |
| 计算发送到每个 BGP 对等点的 BGP 打开消息数量。 |
| 计算从每个 BGP 对等点接收的 BGP 打开消息的数量。 |
| 计算发送到每个 BGP 对等点的 BGP 通知消息数量。 |
| 计算从每个 BGP 对等点接收的 BGP 更新消息数量。 |
| 计算发送到每个 BGP 对等点的 BGP keepalive 消息数量。 |
| 计算从每个 BGP 对等点接收的 BGP keepalive 消息数量。 |
| 计算发送到每个 BGP 对等点的 BGP 路由刷新消息的数量。 |
| 计算发送到每个 BGP 对等点的 BGP 消息总数。 |
| 计算从每个 BGP 对等点接收的 BGP 消息总数。 |
其他资源
- 有关使用监控仪表板的信息,请参阅使用监控仪表板查询所有项目的指标。
26.9.5. 关于收集 MetalLB 数据 复制链接链接已复制到粘贴板!
您可以使用 oc adm must-gather
CLI 命令来收集有关集群、MetalLB 配置和 MetalLB Operator 的信息。以下功能和对象与 MetalLB 和 MetalLB Operator 关联:
- 在其中部署 MetalLB Operator 的命名空间和子对象
- 所有 MetalLB Operator 自定义资源定义(CRD)
oc adm must-gather
CLI 命令会收集红帽用来实施 BGP 和 BFD 的 FRRouting(FRR)的以下信息:
-
/etc/frr/frr.conf
-
/etc/frr/frr.log
-
/etc/frr/daemons
配置文件 -
/etc/frr/vtysh.conf
上述列表中的日志和配置文件从每个 speaker
pod 中的 frr
容器收集。
除了日志和配置文件外,oc adm must-gather
CLI 命令还会从以下 vtysh
命令收集输出:
-
show running-config
-
show bgp ipv4
-
show bgp ipv6
-
show bgp neighbor
-
show bfd peer
运行 oc adm must-gather
CLI 命令时不需要额外的配置。
其他资源