HashiCorp Vault è una soluzione per la gestione dei secret di terze parti che si integra con i cluster Kubernetes e Anthos su AWS.
Puoi eseguire il deployment di Vault su cluster Anthos su AWS utilizzando:
- Gazzetta di HashiCorp Elmo
- Vault su GKE, installato con Terraform.
Puoi accedere ai secret di Vault all'interno dei pod utilizzando l'iniettore agente sidecar. L'iniettore è un controller webhook di Kubernetes Mutating. Il controller intercetta gli eventi del pod e aggiorna la configurazione del pod.
Vault Agent Injector utilizza un pod di servizio Kubernetes (KSA) con il metodo Vault Auth di Vault. L'account KSA deve essere associato a un ruolo Vault con un criterio che consente l'accesso ai secret.
Dopo la configurazione, puoi richiedere i secret annotando un pod.
Lo snippet seguente include le annotazioni che aggiungeresti a un pod.
Se il ruolo myapp
ha accesso al secret secret/banana
, Vault
lo monta in /vault/secrets/apple
.
spec:
template:
metadata:
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-secret-apple: "secrets/banana"
vault.hashicorp.com/role: "myapp"
Puoi applicare questa configurazione:
- A un pod con
kubectl edit pod/pod-name
. - A un deployment con
kubectl edit deployment/deployment-name
.
Passaggi successivi
- Leggi la documentazione di Vault Injector.
- Esamina il repository di GitHub di vault-k8s.