Шифрование секретных данных в хранилище kubernetes etcd

По умолчанию все данные, хранящиеся в etcd, не зашифрованы, для производственных развертываний некоторые данные, хранящиеся в etcd, должны быть зашифрованы, например, секреты. Есть ли способ хранить секреты в зашифрованном виде в etcd, дефолт.

1 ответ

Решение

Чтобы иметь шифрование, вы должны проинструктировать apiserver сервис с этим параметром:

--experimental-encryption-provider-config=/var/lib/kubernetes/encryption-config.yaml

где файл yaml содержит это:

kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
      - secrets
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: ${ENCRYPTION_KEY}
      - identity: {}

здесь провайдер aescbc (самое сильное шифрование) и переменная генерируется раньше:

ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)

Посмотрите на эти документы:

Другие вопросы по тегам