4 способа работы с внешними хранилками секретов в Kubernetes:1)
Direct API - тоесть приложение самостоятельно при помощи SDK лезет куда нужно. Используется pull модель.2)
Controller - специализированный Kubernetes operator, который берет и зеркалит секреты из внешних систем в классический Secret в Kubernetes. Проект типа External Secrets Operator. Используется push модель.3)
Sidecar + MutatingWebhook - проект типа Vault Agent Sidecar Injector. Используется pull модель.4) Secrets Store CSI Driver - проект от сообщества Kubernetes, выполненного в виде
DaemonSet и нескольких CustomResources. Используется push и pull модель на выбор.Последний герой появился недавно/последним и позволяет интегрировать хранилища секретов внутрь
Kubernetes как CSI volume. На сегодняшний день есть поддержка:-
Azure Key Vault -
AWS Secrets Manager
- Google Secret Manager
- HashCorp Vault
Для подробного знакомства с ним рекомендую ознакомится с официальной документацией и видео "Secrets Store CSI Driver: Bringing external secrets in house".