Skip to content

Latest commit

 

History

History
63 lines (43 loc) · 1.97 KB

06-data-encryption-keys.md

File metadata and controls

63 lines (43 loc) · 1.97 KB

データ暗号化コンフィグとキーの生成

Kubernetesは、クラスタの状態、アプリケーションの設定、シークレットを含むさまざまなデータを保存します。Kubernetesは、クラスタデータを静止状態で暗号化する機能をサポートしています。

本実習では、Kubernetesシークレットの暗号化に適した暗号化キーとencryption configを生成します。

暗号化キー

暗号鍵を生成:

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

暗号化設定ファイル

暗号化設定ファイル encryption-config.yaml を作成:

envsubst < configs/encryption-config.yaml \
  > encryption-config.yaml

補足


ここでconfigs/encryption-config.yamlが出てくるが、過去のコミットでこのファイルは削除されているため、Vimを使って次の内容のconfigs/encryption-config.yamlを作成します。

kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
      - secrets
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: ${ENCRYPTION_KEY}
      - identity: {}

その後に下記のコマンドを実行するとencryption-config.yamlsecretの部分に暗号鍵が内包される。

envsubst < configs/encryption-config.yaml \
  > encryption-config.yaml

なお、Issueも建てられています。

configs/encryption-config.yaml is missing #768


暗号化設定ファイル encryption-config.yaml を各コントローラインスタンスにコピー:

scp encryption-config.yaml root@server:~/

Next: etcdクラスタのブートストラップ