HashiCorp Vault è una soluzione di gestione dei secret di terze parti che si integra con Kubernetes e GKE su AWS.
Puoi eseguire il deployment di Vault su GKE su AWS utilizzando:
- Grafico di Helm ufficiale di HashiCorp
- Vault su GKE, installato con Terraform.
Puoi accedere ai secret di Vault all'interno dei pod utilizzando l'iniettore Sidecar agente. L'iniettore è un controller webhook di mutazione di Kubernetes. Il controller intercetta gli eventi del pod e ne aggiorna la configurazione.
Vault Agent Injector utilizza l'account di servizio Kubernetes (KSA) di un pod con il metodo di autenticazione Kubernetes di Vault. L'account in Arabia Saudita deve essere associato a un ruolo Vault con un criterio che concede 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:
- In 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 GitHub di vault-k8s.