
Azure Vault 및 csi 드라이버를 사용하면 비밀을 생성하고 컨테이너의 단일 파일로 액세스할 수 있습니다.
나는 팔로우했다이것기본 비밀을 생성하는 접근 방식입니다.
컨테이너 내부의 비밀 파일로 컨테이너의 비밀에 액세스할 수 있습니다.
하지만 여기서 비밀을 생성하고 imagePull에 동일한 것을 사용하려고 하면 작동하지 않습니다..
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
위의 acr-test 비밀은 imagePullSecrets에서 앱 배포에 사용하려고 했지만 이미지 가져오기 관련 문제를 표시하는 이벤트에는 적용되지 않았습니다.
접근 방법이 잘못된 경우 안내해 주세요.
또한 이러한 비밀을 기존 configmap의 일부로 사용하는 방법은 무엇입니까?
답변1
나는 이것이 달성 가능하다고 믿지 않습니다. CSI 드라이버는 컨테이너 내부에 비밀 정보를 볼륨으로 탑재하지만, 컨테이너를 생성하고 볼륨을 탑재하기 전에 이미지 가져오기 비밀 정보가 필요하므로 비밀 정보를 사용할 수 없습니다.
이를 표준 정적 Kubernetes 비밀로 설정해야 합니다.