Kubernetes The Hard Way On VirtualBox 4日目
Kubernetesを雰囲気で使わないための修行Kubernetes The Hard Way On VirtualBoxの4日目。今日はデータの暗号化をします。
Generating the Data Encryption Config and Key
Kubernetesはクラスターの状態やアプリケーションのコンフィグなど様々なデータを持ちます。Kubernetesはクラスターのデータを暗号化して保存する機能をサポートしています。
The Encryption Key
暗号化キーを作成し、環境変数に設定します。
ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)
The Encryption Config File
encryption-config.yaml
というファイルを作成します。
cat > encryption-config.yaml <<EOF kind: EncryptionConfig apiVersion: v1 resources: - resources: - secrets providers: - aescbc: keys: - name: key1 secret: ${ENCRYPTION_KEY} - identity: {} EOF
encryption-config.yaml
をコントローラーインスタンスにコピーします。
手元のPCでファイルを作成したので、公式手順とは異なってます。
for instance in vagrant@192.168.5.11 vagrant@192.168.5.12 ; do scp encryption-config.yaml ${instance}:~/ done
encryption-config.yaml
を適切な場所に移動させます。
for instance in vagrant@192.168.5.11 vagrant@192.168.5.12 ; do ssh ${instance} sudo mv encryption-config.yaml /var/lib/kubernetes/ done
結果
$ for instance in vagrant@192.168.5.11 vagrant@192.168.5.12 ; do ssh ${instance} sudo mv encryption-config.yaml /var/lib/kubernetes/ done mv: cannot move 'encryption-config.yaml' to '/var/lib/kubernetes/': Not a directory mv: cannot move 'encryption-config.yaml' to '/var/lib/kubernetes/': Not a directory
おっとエラー!どうも /var/lib/kubernetes/
ディレクトリがないらしい。
作れば良いんだろうけど、手順が漏れてたんじゃないかと心配になるな。。。
vagrant@master-1:~$ ls -l /var/lib/ total 136 drwxr-xr-x 4 root root 4096 Aug 27 2020 AccountsService drwxr-xr-x 2 root root 4096 Sep 20 05:47 VBoxGuestAdditions drwxr-xr-x 5 root root 4096 Sep 24 06:16 apt drwxr-xr-x 8 root root 4096 Sep 20 05:46 cloud drwxr-xr-x 2 root root 4096 May 5 2018 command-not-found drwxr-xr-x 2 root root 4096 Sep 20 05:46 dbus drwxr-xr-x 2 root root 4096 Apr 16 2018 dhcp drwxr-xr-x 2 root root 4096 Sep 20 05:46 dkms drwxr-xr-x 7 root root 4096 Sep 24 06:16 dpkg drwxr-xr-x 2 root root 4096 Apr 20 2020 git drwxr-xr-x 3 root root 4096 Aug 27 2020 grub drwxr-xr-x 2 root root 4096 Sep 24 06:16 initramfs-tools drwxr-xr-x 2 landscape landscape 4096 Aug 27 2020 landscape drwxr-xr-x 2 root root 4096 Sep 27 06:25 logrotate drwxr-xr-x 2 root root 0 Sep 27 15:54 lxcfs drwxr-xr-x 2 lxd nogroup 4096 Sep 20 05:46 lxd drwxr-xr-x 2 root root 4096 Aug 27 2020 man-db drwxr-xr-x 2 root root 4096 Apr 24 2018 misc drwxr-xr-x 2 root root 4096 Sep 27 06:25 mlocate drwxr-xr-x 2 root root 4096 Mar 6 2017 os-prober drwxr-xr-x 2 root root 4096 Sep 20 06:18 pam drwxr-xr-x 2 root root 4096 Apr 4 2019 plymouth drwx------ 3 root root 4096 Aug 27 2020 polkit-1 drwxr-xr-x 2 root root 4096 Aug 27 2020 python drwxr-xr-x 18 root root 4096 Sep 20 06:17 snapd drwxr-xr-x 3 root root 4096 Aug 27 2020 sudo drwxr-xr-x 6 root root 4096 Sep 20 05:46 systemd drwxr-xr-x 2 root root 4096 Sep 20 05:46 ubuntu-release-upgrader drwxr-xr-x 3 root root 4096 Sep 24 06:16 ucf drwxr-xr-x 2 root root 4096 Feb 17 2020 unattended-upgrades drwxr-xr-x 2 root root 4096 Sep 20 05:46 update-manager drwxr-xr-x 4 root root 4096 Sep 27 15:50 update-notifier drwxr-xr-x 3 root root 4096 Aug 27 2020 ureadahead drwxr-xr-x 2 root root 4096 Aug 27 2020 usbutils drwxr-xr-x 3 root root 4096 Aug 27 2020 vim
遡ってみたけど、手順漏れはなさそう。ディレクトリ作る手順を追加するか。
for instance in vagrant@192.168.5.11 vagrant@192.168.5.12 ; do ssh ${instance} "sudo mkdir /var/lib/kubernetes/ ; sudo mv encryption-config.yaml /var/lib/kubernetes/" done
今度はちゃんと出来てました。
vagrant@master-1:~$ ls -l /var/lib/kubernetes/ total 4 -rw-rw-r-- 1 vagrant vagrant 240 Sep 27 15:46 encryption-config.yaml
今日はここまで。ずいぶん短いけど週明けはこんなもんでヨシ!
お読みいただきありがとうございました。