新おうちインフラ(第三世代)

既存インフラ(第一、第二世代)の問題

既存インフラは第一世代のcamphorと第二世代のoliveからなっていました。
camphorのOSはArch Linuxで、NFSと録画鯖が昔ながらの構成で動いています。oliveのOSはproxmoxで、仮想化された上でルータVMなどが走っています。
しばらく使っているとVLAN、ルータVM、仮想マシン、ストレージなどの管理が辛くなってしまいました。しかもproxmoxの上でPPPoEのルータが動いているので大きな単一障害店になっています。
このままのインフラだと壊れたときに再構築するのは大変面倒になるでしょう。そこでおうちインフラの全てをKubernetesを使って管理しようということになりました。Kubernetesで管理することで、kubesprayでクラスタを組んでGitHubからマニフェストを流すだけで同じ状態をすぐ再構成できるようにすることを目的としています。
物理マシンは以下の構成となりました。予算不足でノードは2台でHA構成ではないので単一障害点の問題はまだ残っています、許して。ノード間は10Gで繋いでいます。

要求

使用するもの

Kubernetesを使えばこれを達成できます。OpenShiftなどを使うとより簡単にデプロイできると思いますが、趣味は逆張りしてなんぼなので全部自分で管理することにしました。Kubernetesに導入するコンポーネントは以下のようになりました。

構成

低速なストレージはとりあえず既存のcamphorのNFSサーバに頼ることにしました。
クラスタはkubesprayを用いてベアメタルに構築しています。