Skip to content

Latest commit

 

History

History
executable file
·
103 lines (80 loc) · 2.92 KB

10.Data-Encryption.md

File metadata and controls

executable file
·
103 lines (80 loc) · 2.92 KB

Data Encryption Config Dosyası ve Key'in Hazırlanması

Kubernetes, cluster durumu, uygulama yapılandırmaları ve secret'lar dahil olmak üzere çeşitli verileri depolar. Bu verilerin güvenli saklanmasını da sağlamaya çalışır. Detaylar için şu sayfayı ziyaret ediniz.

Linux ve Mac için

cd ~/kubernetes

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

cat > encryption-config.yaml <<EOF
kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
      - secrets
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: ${ENCRYPTION_KEY}
      - identity: {}
EOF

Windows için

cd ~/kubernetes

$ENCRYPTION_KEY=([Convert]::ToBase64String((1..32| % {Get-Random -Minimum 0 -Maximum 255})))

'@
kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
      - secrets
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: $ENCRYPTION_KEY
      - identity: {}
@' | tee encryption-config.yaml

Sonuçta 1 adet yaml dosyası oluşmuş olmalıdır.

  • encryption-config.yaml

Daha sonra keylerimizi controller makinalarımıza kopyalıyoruz.

LXC için

for instance in controller-01 controller-02 controller-03; do
  lxc file push encryption-config.yaml ${instance}/home/ubuntu/
done

(Linux ve Mac) SSH kullananlar için

for instance in controller-01 controller-02 controller-03; do
  scp encryption-config.yaml $internal_ip:~/kubernetes
done

Windows için

$instances = @{"controller-01"="10.240.10.4"; "controller-02"="10.240.10.5";"controller-03"="10.240.10.6"} 

foreach ($key in $instances.keys)
{
  $instance=$key
  $internal_ip=$instances[$key]

  scp encryption-config.yaml $internal_ip:~/kubernetes
}