余っているノートPCに32GバイトのmicroSDをUSBリーダーに入れて装着してkubernetesのノードとして運用可能か試してみました。使用したUSBリーダーの書き込みが非常に遅く(おそらくUSB2.0)、CentOSのインストールも通常よりもかなり長時間かかったのですが、kubernetesのノードとして追加するところまでは成功しました。しかし、特定のイメージのプルに失敗してPodが起動しない現象が発生しました。
kubectl describe podで確認したところ、こちらに記載されているようなImagePullBackOffのエラー(context canceled)が出ていました。おそらく、ディスクへの書き込みが異常に遅いため、I/Oウエイトが高くなり、dockerからの進捗報告がデフォルトの1分以内にできなかったのではないかと思われます(実際、iostatコマンドの%utilが頻繁に100になっていた)。上記のサイトやここを参考に、/var/lib/kubelet/kubeadm-flags.env にオプション(–image-pull-progress-deadline 15m)を追加し、
sudo systemctl restart kubelet
を実行して、もう一度トライしてみると、今度はイメージプルに成功して無事、Podが起動しました。特に問題なく動作しているようですので、一応microSDでも動作するようです。ディスクの使用率としては、11%程度ですので、容量的にも32Gでも間に合いそうです。