意外に詰まったのでメモ。
環境はArch LinuxでファイルシステムがBtrfs。
kind
kind(Kubernetes IN Docker)というものがあり、これを使おうと考えていた。
しかし試してみたところエラーが出てしまい、どうやらBtrfsでは使えないとのこと。
https://kind.sigs.k8s.io/docs/user/known-issues/
minikube
仕方がないので別の方法ということで、minikubeを使うことに。
$ sudo pacman -S minikube
vm-driverにはvirtualboxを使う。そのためVirtual Boxもインストールしておく。
$ sudo pacman -S virtualbox
ここでBtrfs特有で注意が必要なのは、ディスクイメージを保存するディレクトリでCopy On Writeを無効化する必要があること。これを行わないと動作しないわけではないが、パフォーマンス上悪影響が出る恐れがある。
https://wiki.archlinux.jp/index.php/VirtualBox#.E9.81.A9.E5.88.87.E3.81.AA.E3.83.95.E3.83.AD.E3.83.B3.E3.83.88.E3.82.A8.E3.83.B3.E3.83.89.E3.81.AE.E4.BD.BF.E7.94.A8
通常のVirtual Box利用であればchattr +C ~/VirtualBox\ VMsで良いが、minikubeはこのディレクトリではなく~/.minikubeにイメージを保存するらしい。なので、
$ mkdir ~/.minikube
$ chattr +C ~/.minikube
をあらかじめ実行しておく。minikube実行後では意味がないので注意!
lsattrを実行してCフラグが立っていればOK。
$ lsattr -d ~/.minikube
---------------C---- /home/matl/.minikube
あとはドキュメントどおりに
$ minikube start --vm-driver=virtualbox
で進めれば問題ない。