我有许多运行 Prometheus 的集群,我想使用 Prometheus 联合来在一个中央 Grafana 仪表板中对指标进行聚合。为了实现这一点,我添加了一个额外的集群,该集群只有一个 Prometheus,它将抓取其他集群上的 Prometheus 实例,但我需要先实现集群间连接。
我读到 linkerd 有一个多集群插件,可以提供这种多集群连接。我按照官方教程中的步骤操作,但出现了以下错误:
切换到上下文“np-main”。victor
@xxx:~/projects/np$ linkerd multicluster 检查
linkerd-multicluster
✔ 链接 CRD 存在
✔ 链接资源有效
np-foo
✔ 远程集群访问凭据有效
np-foo
✔ 集群共享信任锚
np-foo
✔ 服务镜像控制器具有所需权限
np-foo
✔ 服务镜像控制器正在运行
np-foo
❌ 探测服务是否能够与所有网关镜像进行通信
- 从集群 [np-foo] 镜像的probe-gateway-np-foo.linkerd-multicluster 没有端点
- 看https://linkerd.io/2/checks/#l5d-multicluster-gateways-endpoints提示
✔ 多集群扩展代理运行状况良好
‼ 多集群扩展代理是最新的
- 一些代理没有运行当前版本:
- linkerd-网关-7d484d9fdf-95rpr (edge-24.2.5)
- linkerd-服务-镜像-np-foo-6c9fff5b56-wvvlq (edge-24.2.5)
- 看https://linkerd.io/2/checks/#l5d-multicluster-proxy-cp-version提示
✔ 多集群扩展代理和 CLI 版本匹配
状态检查结果为 ❌
我尝试过不仅导出 prometheus 操作的服务(从中央 prometheus 抓取的服务),而且还尝试过导出虚拟 golang API,但它们都没有在中央集群上进行镜像。
我已经多次执行了这些步骤,并且所有资源都已安装并正在运行。我不知道我遗漏了什么。
我正在考虑尝试 Istio/Consul 服务网格。其他解决方法/替代方案也会考虑。