涅槃を目指す in はてな

人生に迷う様を書きます

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

今日はここまで。ずいぶん短いけど週明けはこんなもんでヨシ!

お読みいただきありがとうございました。