Sobes.tech
Back to questions
Senior
4

Как вы интегрируете Kubernetes с HashiCorp Vault? Как инжектировать секреты декларативно?

Companies where asked
AndersenAndersen

Answer from AI

sobes.tech AI

Интеграция Kubernetes с HashiCorp Vault позволяет безопасно управлять и инжектировать секреты в поды без хранения их в манифестах.

Основные способы интеграции:

  1. Vault Agent Injector — sidecar-контейнер, который автоматически получает секреты из Vault и монтирует их в под как файлы или переменные окружения.

  2. CSI Driver для Vault — позволяет монтировать секреты как тома в поды декларативно через Volume.

  3. Использование Kubernetes Auth Method в Vault — поды аутентифицируются в Vault с помощью сервис-аккаунтов Kubernetes.

Декларативный пример с Vault Agent Injector:

apiVersion: v1
kind: Pod
metadata:
  name: example-pod
  annotations:
    vault.hashicorp.com/agent-inject: "true"
    vault.hashicorp.com/role: "k8s-role"
    vault.hashicorp.com/agent-inject-secret-config.txt: "secret/data/myapp/config"
spec:
  serviceAccountName: vault-auth
  containers:
  - name: app
    image: myapp:latest
    volumeMounts:
    - name: vault-secrets
      mountPath: /vault/secrets
  volumes:
  - name: vault-secrets
    emptyDir: {}

В этом примере Vault Agent автоматически получает секреты из пути secret/data/myapp/config и монтирует их в контейнер. Все настройки происходят через аннотации и манифесты Kubernetes, что обеспечивает декларативность и безопасность.