Como usar o segredo acr salvo no Azure Vault para extração de imagens?

Como usar o segredo acr salvo no Azure Vault para extração de imagens?

Com Azure Vault e driver CSI, capaz de criar segredos e acessá-los como arquivos únicos em contêiner.

eu seguiesseabordagem para criar segredos básicos.

Pode acessar os segredos do contêiner como arquivos secretos dentro dele.

Mas, quando tentei criar um segredo a partir dele e usar o mesmo para o imagePull, não funcionou.

apiVersion: secrets-store.csi.x-k8s.io/v1alpha1
kind: SecretProviderClass
metadata:
  name: azure-kvname
  namespace: default
spec:
  provider: azure
  secretObjects:
  - secretName: acr-test
    type: kubernetes.io/dockerconfigjson
    data:
     - objectName: martrepo
       key: .dockerconfigjson
  parameters:
    usePodIdentity: "false"
    useVMManagedIdentity: "false"
    userAssignedIdentityID: ""
    keyvaultName: "secret-store-dummy"
    objects: |
      array:
        - |
          objectName: secret1              
          objectType: secret
          objectVersion: ""
        - |
          objectName: martrepo              
          objectType: secret
          objectVersion: ""    
    tenantId: "f33abe27-86cd-46d6-ae2b-b918362ab160"

---
kind: Pod
apiVersion: v1
metadata:
  name: busybox-secrets-store-inline
spec:
  containers:
  - name: busybox
    image: k8s.gcr.io/e2e-test-images/busybox:1.29
    command:
      - "/bin/sleep"
      - "10000"
    volumeMounts:
    - name: secrets-store-inline
      mountPath: "/mnt/secrets-store"
      readOnly: true
  volumes:
    - name: secrets-store-inline
      csi:
        driver: secrets-store.csi.k8s.io
        readOnly: true
        volumeAttributes:
          secretProviderClass: "azure-kvname"
        nodePublishSecretRef:                       # Only required when using service principal mode
          name: secrets-store-creds 

O segredo do acr-test acima, tentei usar na implantação de um aplicativo em imagePullSecrets, mas não funcionou porque os eventos mostravam problemas ao extrair a imagem.

Por favor, me guie se a abordagem estiver errada.

E também, como usar esses segredos como parte do configmap existente?

Responder1

Não acredito que isso seja alcançável. O driver CSI monta o segredo dentro do contêiner como um volume, mas o segredo de extração da imagem é necessário antes da criação do contêiner e da montagem do volume, portanto, o segredo não estará disponível.

Você precisará configurar isso como segredo estático padrão do Kubernetes.

informação relacionada