Как подключить Azure -key-vault к модулю AKS? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть приложение nodeJs с файлом docker, развернутое в AKS с помощью HelmChart, и у меня есть хранилище ключей azure с некоторыми ключами в Azure Portal, и мне нужно подключить мой работающий POD к этому KeyVault.

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Альтернативой существующему ответу (и я думаю, что этот существующий ответ является способом go) будет использовать AAD Pod Identity . По сути, это способ иметь удостоверение для приложения внутри модуля. Таким образом, вам не нужно тщательно контролировать личность и передавать учетные данные приложению (просто используйте внутреннюю конечную точку). Аналогично управляемому удостоверению в Azure за пределами кубернетов.

0 голосов
/ 13 июля 2020

Я использую akv2k8s .

Akv2k8s содержит два основных компонента:

  1. Контроллер akv2k8s синхронизирует Azure объекты Key Vault с Kubernetes как собственные секреты
  2. Инжектор akv2k8s вводит Azure объекты Key Vault как переменные среды непосредственно в ваше приложение.

Диаграмма:

enter image description here

Before you start with the installation I suggest to read Как это работает? страница.

Позже перейдите на страницу обзор установки , чтобы настроить среду.

Если вы хотите установить akv2k8s с помощью helm . Я создал этот фрагмент кода для своего процесса CI \ CD:

# Create a dedicated namespace for akv2k8s
kubectl create ns akv2k8s

# Add Helm repository
helm repo add spv-charts http://charts.spvapi.no
helm repo update

# Install the Controller (and the "AzureKeyVaultSecret" CRD)
helm install azure-key-vault-controller spv-charts/azure-key-vault-controller --namespace akv2k8s

# Install the Env-Injector
helm install azure-key-vault-env-injector spv-charts/azure-key-vault-env-injector --set installCrd=false --namespace akv2k8s

простой пример :

cat << EOF | kubectl apply -f -
apiVersion: spv.no/v1alpha1
kind: AzureKeyVaultSecret
metadata:
  name: secret-sync 
  namespace: $(K8S_NAMESPACE)
spec:
  vault:
    name: ${KEY_VAULT_NAME} # name of key vault
    object:
      name: $(KEY_VALUT_OBJECT_NAME)  # name of the akv object
      type: $(KEY_VALUT_TYPE) # akv object type
EOF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...