: O. Yuanying

Self-Hosted Kubernetes

自宅の Minnowboard クラスターに Kubernetes をインストールしようとしてそろそろ一年。。。

思ったよりも時間がかかってしまったがようやくクラスターを構成できた。 当初思ってたように全て Minnowboard に載せるというのは実際にアプリを乗せた際、 (gitlab やら Gluster) メモリが問題になりそうだったので、 結局ワーカーノードは ECS LIVA Z の Pentium モデルと相成った。

ワーカーノードには USB でストレージを繋いで Gluster で管理。今流行りのハイパーコンバージド? 結局 Gluster 公式のプロビジョナーである Heketi に不満を感じた ので自分でプロビジョナーを書いてしまった。 その話を書こう書こうと思っていたのだけどめんどくさくてブログには書いておらず。

なぜ自宅 Kubernetes クラスターの構築にこんなに時間がかかってしまったかというと、 主に Kubernetes のデプロイに使うスクリプトに意外に時間を食ってしまったから。

Kubespray やら Kops やら kubeadm やら Rancher やらを色々検討はしてみたものの、 自分好みのクラスターを構築しようと思ったら自分で構築するのが一番という身もふたもない結論に。 これも結局デプロイツールを自分で書いた

最初は Kubernetes The Hard Way の内容を スクリプト化して、k8s 各コンポーネントの ClusterRoleBinding をちゃんと設定してあげたもの程度だったのだが、 Self-Hosted Kubernetes 化して keepalived/haproxy で冗長化、 DNS に CoreDNS 採用とかしてたら手間取った。

Self-Hosted は面白かったので次の 日本OpenStackユーザ会 第36回勉強会 で話す予定。もし枠が空いていたら次次回の Kubernetes Meetup の LT でも。