[HARDWAY] 06.Generating the Data Encryption Config and Key
https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/06-data-encryption-keys.md
kubernetes 의 data store 에서는 암호화 data 저장을 지원한다.
이때 사용될 encryption key 를 생성하는 부분이다.
### The Encryption Key & The Encryption Config File
[root@master01 ~]# cat 021_kubernetes_encryption_key.sh
#!/bin/bash
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
# 스크립트 작성
### 위의 스크립트를 실행시킬 스크립트
[root@master01 ~]# cat 022_encryption_key_copy.sh
#!/bin/bash
MASTER=("master01" "master02" "master03")
for ((i=0; i<3; i++)); do
echo "${MASTER[i]} copy START"
scp encryption-config.yaml ${MASTER[i]}:~/
echo "${MASTER[i]} copy END"
echo ""
sleep 2
done
# 스크립트 작성 후 실행
sh 022_encryption_key_copy.sh
Master 서버의 Home directory 에 encryption-config.yaml 이 존제해야 한다.