¿Cómo utilizar acr secret guardado en azure vault para extraer imágenes?

¿Cómo utilizar acr secret guardado en azure vault para extraer imágenes?

Con azure vault y csi driver, capaz de crear secretos y acceder a ellos como archivos individuales en un contenedor.

Seguíesteenfoque para crear secretos básicos.

Puede acceder a los secretos del contenedor como archivos secretos dentro de él.

Pero, cuando intenté crear un secreto a partir de él y usarlo para imagePull, no funciona.

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 

Intenté utilizar el secreto de prueba acr anterior en la implementación de una aplicación en imagePullSecrets, pero no funcionó ya que los eventos mostraban problemas al extraer la imagen.

Por favor guíame si el enfoque es incorrecto.

Y también, ¿cómo utilizar estos secretos como parte del mapa de configuración existente?

Respuesta1

No creo que esto sea alcanzable. El controlador CSI monta el secreto dentro del contenedor como un volumen, pero el secreto de extracción de imagen es necesario antes de que se cree el contenedor y se monte el volumen, por lo que el secreto no estará disponible.

Deberá configurar esto como secreto estático estándar de Kubernetes.

información relacionada