我有两个kubernetes集群,它们不会以任何方式相互通信。这个想法是要维护一个Prometheus实例(在另一个第三群集中),该实例可以从两个群集中抓取端点。
我在每个集群中创建了一个服务帐户,为其赋予了集群角色和clusterrolebinding,并获取了一个秘密的Yaml文件。然后,我在运行Prometheus的第三个集群中导入了相同的秘密。使用这些已安装的秘密,我能够从群集1和2中的所有Pod中提取数据。
是否有更好的选择来实现此用例? 我以某种方式将机密从一个群集转移到另一个群集,以获得相同的ca.crt和令牌。
答案 0 :(得分:1)
我认为在集群之间共享秘密是不安全的。
关于联合Prometheus,一个Prometheus实例可以导出一些数据,这些数据可以由外部Prometheus实例使用。
例如,运行多个服务的集群调度程序可能会公开有关集群上运行的服务实例的资源使用情况信息(例如内存和CPU使用情况)。另一方面,在该群集上运行的服务将仅公开特定于应用程序的服务指标。通常,这两组指标是由单独的Prometheus服务器抓取的。
或部署一些导出器,这些导出器可以由外部prometheus消耗。例如https://github.com/kubernetes/kube-state-metrics(但不提供Pod的CPU /内存使用情况)