Chave de Criptografia
O Kubernetes armazena os dados como: estado do cluster, configurações e senhas, por isso o Kubernetes criptografa os dados.
Chave
Vamos gerar uma chave de criptografia e uma configuração de criptografia para criptografar os dados do Kubernetes.
ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64) echo "$ENCRYPTION_KEY"
Configuração da Chave
cat > encryption-config.yaml <<EOF kind: EncryptionConfig apiVersion: v1 resources: - resources: - secrets providers: - aescbc: keys: - name: key1 secret: ${ENCRYPTION_KEY} - identity: {} EOF cat encryption-config.yaml
Distribuindo chave (Controllers)
Copiaremos o arquivo encryption-config.yaml para cada controller:
for instance in controller-0 controller-1 controller-2; do external_ip=$(aws ec2 describe-instances --filters \ "Name=tag:Name,Values=${instance}" \ "Name=instance-state-name,Values=running" \ --output text --query 'Reservations[].Instances[].PublicIpAddress') scp -i kubernetes.id_rsa encryption-config.yaml ubuntu@${external_ip}:~/ done