Я использую akv2k8s .
Akv2k8s содержит два основных компонента:
- Контроллер akv2k8s синхронизирует Azure объекты Key Vault с Kubernetes как собственные секреты
- Инжектор akv2k8s вводит Azure объекты Key Vault как переменные среды непосредственно в ваше приложение.
Диаграмма:
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