configmap을 Azure keyvault로 변환하는 방법

configmap을 Azure keyvault로 변환하는 방법

아래와 같은 구성 맵이 있습니다. 이를 우리 애플리케이션의 구성 파일에 연결하겠습니다.

apiVersion: v1
kind: ConfigMap
metadata:
  name: database-configmap
data:
  config: |
   dbport=5432
   dcname=
   dbssl=false
   locktime=300
   domainuser=
   dattserverhost=localhost
   conntype=ON-PREM
   dbinstance=
   dattusessl=false
   dbpwd=VrjvBguQ
   iisport=80
   docountupgrade=false
   doreportupgrade=false
   dbname=dattdatabase
   dattuseiis=false
   dbtype=POSTGRESQL
   dbusername=postg
   dbserver=tgres.database.azure.com
   domainpwd=

이를 azurekeyvault에 저장하고 배포 중에 가져오는 방법은 무엇입니까? 개별 키/값 쌍은 keyvault에 저장됩니다. 그러나 이것을 달성하는 방법은 무엇입니까?

링크에 제공된 옵션을 시도했지만 일반 kubernetes 비밀로 표시되지 않습니다. 아래 출력을 참조하세요.

kubectl get azurekeyvaultsecret.spv.no/secret-sync -n akv-test
NAME          VAULT           VAULT OBJECT   SECRET NAME   SYNCHED
secret-sync   testingvaultd   sample1
kubectl get secrets -n akv-test
NAME                  TYPE                                  DATA   AGE
default-token-9bsk8   kubernetes.io/service-account-token   3      5m31s

답변1

나에게 흥미로운 질문이어서 조금 조사해 보았습니다. 우선 제가 개인적으로 시도한 적이 없으므로(나중에 조금 시도해 보겠습니다) 이것은 단지 아이디어일 뿐이라는 점을 이해해야 합니다. 댓글을 달기에는 정보가 너무 많습니다.

나는 매우 흥미로운 것을 발견했습니다.akv2k8s 프로젝트(Azure Key Vault에서 Kubernetes로 탐색) 요구 사항을 충족하는 데 도움이 될 것 같습니다...

Azure Key Vault to Kubernetes(akv2k8s)를 통해 Azure Key Vault 비밀, 인증서 및 키를 Kubernetes 및/또는 애플리케이션에서 사용할 수 있습니다.

  • 간단하고 안전한 방법으로.

개요에서는 configmap을 언급하지만 다이어그램에서는 언급하지 않습니다.

Akv2k8s에는 두 가지 주요 구성 요소가 포함되어 있습니다.

  1. 그만큼akv2k8s 컨트롤러는 Azure Key Vault 개체를 Kubernetes에 기본으로 동기화합니다.비밀 또는ConfigMap

  2. akv2k8s Injector는 Azure Key Vault 개체를 환경 변수로 애플리케이션에 직접 주입합니다.

여기에 이미지 설명을 입력하세요

다음과 같은 경우 컨트롤러를 사용하십시오. Azure Key Vault 데이터를 Kubernetes ConfigMap에 동기화해야 하는 경우


설치: Azure AKS의 Kubernetes(akv2k8s)에 Azure Key Vault를 설치하는 방법

관련 정보