Início Pré Requisitos Máquinas Certificados Configuração

Criptografia

ETCD Controllers Workers Kubectl Rotas DNS Teste Dashboard Destruir

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