
Mit Azure Vault und CSI-Treiber können Sie Geheimnisse erstellen und als einzelne Dateien im Container darauf zugreifen.
ich folgteDasAnsatz zum Erstellen grundlegender Geheimnisse.
Die Geheimnisse aus dem Container sind als darin enthaltene geheime Dateien zugänglich.
Aber als ich versuchte, daraus ein Geheimnis zu erstellen und dasselbe für imagePull zu verwenden, funktionierte es nicht.
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
Ich habe versucht, das obige ACR-Testgeheimnis bei der Bereitstellung einer App bei imagePullSecrets zu verwenden, aber es hat nicht funktioniert, da die Ereignisse Probleme beim Abrufen des Images anzeigten.
Bitte helfen Sie mir, wenn der Ansatz falsch ist.
Und wie verwende ich diese Geheimnisse als Teil einer vorhandenen Konfigurationszuordnung?
Antwort1
Ich glaube nicht, dass das machbar ist. Der CSI-Treiber mountet das Geheimnis im Container als Volume, aber das Image-Pull-Geheimnis wird benötigt, bevor der Container erstellt und das Volume gemountet wird, also ist das Geheimnis nicht verfügbar.
Sie müssen dies als standardmäßiges statisches Kubernetes-Geheimnis einrichten.