Конфигурация Thanos S3

Я изо всех сил пытаюсь осмыслить использование ведра S3 для таноса.

Из конфигурации видно, что мы должны предоставить доступ и секретные ключи для корзины S3, но они пишутся на виду, а код хранится в git, поэтому любой может получить доступ к корзине.

Есть ли способ предоставить их как секреты кубернета? я пытаюсь запустить прометей-оператор на EKS

Благодаря,

2 ответа

Предполагая, что вы хотите явно передать конфигурацию корзины с данными аутентификации, вы можете использовать два параметра командной строки для thanos, чтобы добиться этого:

  1. --objstore.config-file=FILEPATH
  2. --objstore.config=CONFIG_CONTENTS

С помощью 1. вы можете просто смонтировать секрет и указать танос в этом месте. С помощью 2 вы можете использовать переменную env и загрузить секрет в эту переменную, например:

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

Есть и другие способы использования идентификационной информации, специфичные для облака. Я не знаком с предложениями AWS, поэтому отсылаю вас к документации thanos

Для EKS>= 1.13 вы можете использовать роль IAM для учетной записи службы . Суть его в том, чтобы сначала создать роль IAM с доступом к корзине S3 и обновить политику доверия, чтобы она доверяла провайдеру удостоверений OIDC кластера EKS. Затем вы создаете и аннотируете учетную запись службы в EKS с помощью ARN роли IAM ( eks.amazonaws.com/role-arn: <IAM_ROLE_ARN>) и назначьте эту учетную запись службы своему модулю. Отныне вызовы API к AWS из SDK внутри модуля (SDK должен поддерживать sts:AssumeRoleWithWebIdentity в цепочке учетных данных) будет выполняться с предполагаемой ролью IAM.

Для Prometheus и Thanos вам нужно будет аннотировать учетные записи служб, используемые модулями реплик Prometheus (для контейнера Sidecar Thanos для использования роли IAM) и модулями шлюза хранилища Thanos.

Более подробную информацию можно найти в официальных документах AWS .

Другие вопросы по тегам