Шифрование секретных данных в хранилище 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)
Посмотрите на эти документы: