Рейтинг:0

Как использовать секрет acr, сохраненный в лазурном хранилище, для извлечения изображения?

флаг ke

Благодаря лазурному хранилищу и драйверу csi можно создавать секреты и получать к ним доступ как к отдельным файлам в контейнере.

Я последовал за это подход к созданию основных секретов.

Может получить доступ к секретам из контейнера в виде секретных файлов внутри него.

Но когда я попытался создать из него секрет и использовать его для imagePull, он не работает.

apiVersion: секреты-store.csi.x-k8s.io/v1alpha1
вид: Секретпровидеркласс
метаданные:
  имя: azure-kvname
  пространство имен: по умолчанию
спецификация:
  провайдер: лазурь
  секретОбъекты:
  - secretName: acr-тест
    тип: kubernetes.io/dockerconfigjson
    данные:
     - имя_объекта: мартрепо
       ключ: .dockerconfigjson
  параметры:
    usePodIdentity: "ложь"
    useVMManagedIdentity: "ложь"
    userAssignedIdentityID: ""
    keyvaultName: "секретное хранилище-пустышка"
    объекты: |
      множество:
        - |
          имя_объекта: секрет1              
          тип объекта: секрет
          объектная версия: ""
        - |
          имя_объекта: мартрепо              
          тип объекта: секрет
          объектная версия: ""    
    идентификатор арендатора: "f33abe27-86cd-46d6-ae2b-b918362ab160"

---
вид: стручок
апиВерсия: v1
метаданные:
  имя: Busybox-secrets-store-inline
спецификация:
  контейнеры:
  - имя: занятбокс
    изображение: k8s.gcr.io/e2e-test-images/busybox:1.29
    команда:
      - "/бин/сон"
      - "10000"
    томМаунты:
    - имя: встроенный магазин секретов
      mountPath: "/mnt/секреты-магазин"
      Только для чтения: правда
  тома:
    - имя: встроенный магазин секретов
      Си Си:
        драйвер: secrets-store.csi.k8s.io
        Только для чтения: правда
        атрибуты тома:
          secretProviderClass: "azure-kvname"
        nodePublishSecretRef: # Требуется только при использовании режима субъекта-службы
          имя: секреты-магазин-креды 

Приведенный выше секрет acr-test я пытался использовать при развертывании приложения в imagePullSecrets, но он не работал, так как события показывали проблемы с извлечением изображения.

Пожалуйста, направьте меня, если подход неправильный.

А также, как использовать эти секреты в составе существующего configmap?

флаг ng
Используете ли вы AKS для своего кластера kubernetes? Если это так, я бы предложил не использовать секрет для извлечения ACR, а просто предоставить субъекту-службе AKS или доступ к управляемому удостоверению.
uday avatar
флаг ke
ACR находится в другой учетной записи и в другой подписке, поэтому используется как секрет
флаг ng
Другой арендатор?
uday avatar
флаг ke
Да все разные, никак не связаны.
Рейтинг:1
флаг ng

Я не верю, что это достижимо. Драйвер CSI монтирует секрет внутри контейнера как том, но секрет извлечения образа необходим до создания контейнера и монтирования тома, поэтому секрет будет недоступен.

Вам нужно будет настроить это как стандартный статический секрет Kubernetes.

uday avatar
флаг ke
Можно ли создать контейнер инициализации и ссылку оттуда?
флаг ng
Только если у вас есть контейнер инициализации, создайте секрет kubernetes на основе секрета KV, который затем будет доступен для основного контейнера.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.