HashiCorp Vault ist eine Secret-Verwaltungslösung eines Drittanbieters, die sich in Kubernetes und GKE in AWS einbinden lässt.
Hiermit können Sie Vault on GKE on AWS bereitstellen:
- Offizielles Helm-Diagramm von HashiCorp
- Vault on GKE, das mit Terraform installiert wird.
Mit dem Agent-Sidecar-Injektor können Sie auf Vault-Secrets in Pods zugreifen. Der Injektor ist ein Kubernetes-Mutating-Webhook-Controller. Der Controller fängt Pod-Ereignisse ab und aktualisiert die Pod-Konfiguration.
Der Vault Agent Injector verwendet das Kubernetes-Dienstkonto (Kubernetes Service Account, KSA) eines Pods mit der Vault Kubernetes Auth-Methode. Das KSA muss durch eine Richtlinie, die Zugriff auf die Secrets gewährt, an eine Vault-Rolle gebunden sein.
Nach der Konfiguration können Sie einen Pod annotieren, um Secrets anzufordern.
Das folgende Snippet enthält Annotationen zum Einfügen in den Pod.
Wenn die Rolle myapp
Zugriff auf das Secret secret/banana
hat, wird es von Vault unter /vault/secrets/apple
bereitgestellt.
spec:
template:
metadata:
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-secret-apple: "secrets/banana"
vault.hashicorp.com/role: "myapp"
Sie können diese Konfiguration auf Folgendes anwenden:
- Auf einen Pod mit
kubectl edit pod/pod-name
- Auf ein Deployment mit
kubectl edit deployment/deployment-name
Nächste Schritte
- Lesen Sie die Vault Injector-Dokumentation.
- GitHub-Repository "vault-k8s".