Prometheus 塔诺斯S3配置

Prometheus 塔诺斯S3配置,prometheus,prometheus-operator,thanos,Prometheus,Prometheus Operator,Thanos,我正在努力让我的头周围使用S3桶塔诺斯 从配置中可以看出,我们必须为S3存储桶提供访问和密钥,但它们是在显而易见的情况下编写的,因为代码存储在git中,所以任何人都可以访问该存储桶 有没有办法把它们作为库伯内特的秘密?我正在EKS上运行普罗米修斯操作员 谢谢,假设您希望明确地使用auth数据传递bucket配置,那么您可以为thanos使用两个命令行选项来实现这一点: --objstore.config file=FILEPATH --objstore.config=config\u内容 和1。

我正在努力让我的头周围使用S3桶塔诺斯

从配置中可以看出,我们必须为S3存储桶提供访问和密钥,但它们是在显而易见的情况下编写的,因为代码存储在git中,所以任何人都可以访问该存储桶

有没有办法把它们作为库伯内特的秘密?我正在EKS上运行普罗米修斯操作员


谢谢,

假设您希望明确地使用auth数据传递bucket配置,那么您可以为thanos使用两个命令行选项来实现这一点:

  • --objstore.config file=FILEPATH
  • --objstore.config=config\u内容
  • 和1。你只需要装上这个秘密,把塔诺斯指向那个地方 对于2,您可以使用env变量并将secret加载到该变量中,例如:

          - args:
            - sidecar
    (...)
            - --objstore.config=$(OBJSTORE_CONFIG)                                                                                                                                                                                                                                   
            env:
            - name: OBJSTORE_CONFIG
              valueFrom:
                secretKeyRef:
                  key: thanos-bucket.yaml
                  name: thanos-service-account
    

    还有其他一些使用身份信息的方法,它们是特定于云的。我不熟悉AWS提供的服务,因此我会让您参考

    了解EKS>=1.13,您可以使用。其要点是首先创建一个访问S3存储桶的IAM角色,并更新信任策略以信任EKS群集的OIDC身份提供程序
    sts:AssumeRoleWithWebIdentity
    。然后,使用IAM角色的ARN在EKS中创建并注释服务帐户(
    EKS.amazonaws.com/role-ARN:
    ),并将此服务帐户分配给pod。此后,将在假定IAM角色的情况下,从pod内的SDK(SDK必须支持凭证链中的sts:AssumeRoleWithWebIdentity)对AWS进行API调用

    对于普罗米修斯(Prometheus)和塔诺斯(Thanos),您需要对普罗米修斯(Prometheus)副本吊舱(用于塔诺斯侧车容器以使用IAM角色)和塔诺斯商店网关吊舱使用的服务帐户进行注释

    有关更多详细信息,请参阅