2

我有两个不以任何方式相互通信的 Kubernetes 集群。这个想法是维护一个 prometheus 实例(在另一个第三个集群中),它可以从两个集群中抓取端点。

我在每个集群中创建了一个服务帐户,赋予它集群角色和集群角色绑定,并获取了一个秘密的 yaml 文件。然后,我在运行 prometheus 的第三个集群中导入了相同的秘密。使用这些挂载的秘密,我能够从集群 1 和 2 中的所有 pod 中提取数据。

有没有更好的选择来实现这个用例?我在某种程度上将秘密从一个集群转移到另一个集群以获得相同的 ca.crt 和令牌。

4

1 回答 1

1

我认为在集群之间共享秘密是不安全的。

联邦 prometheus 怎么样,一个 prometheus 实例可以导出一些数据,这些数据可以被外部 prometheus 实例消费。

例如,运行多个服务的集群调度程序可能会公开有关集群上运行的服务实例的资源使用信息(如内存和 CPU 使用情况)。另一方面,在该集群上运行的服务只会公开特定于应用程序的服务指标。通常,这两组指标由不同的 Prometheus 服务器抓取。

或者部署一些exporter,可以被外部prometheus消费。例如 https://github.com/kubernetes/kube-state-metrics(但它不提供 pod 的 cpu/内存使用情况)

于 2019-08-08T03:49:01.187 回答