monolithic kernel

k3s を使い始めた

自分用の Kubernetes クラスタがほしいと思って、VPS に k3s を入れて使い始めた。マネージドの Kubernetes はいろいろあるものの、やっぱりお金が掛かるので、どうやったら安く済むかと考えて、VPS に k3s を入れてシングルノードのクラスタを構築するに至った。

シングルノードで Kubernetes を動かしても当然ながら可用性には貢献しない。ただ、もともと VPS でやっていたようなことを快適にやるために Kubernetes を使っていると考えるとそんなに違和感はなかった。

k3s は、軽量で production ready を謳う Kubernetes のディストリビューション。IoT や Edge での利用を想定しているらしいが、低スペックなマシン向けのチューニングは VPS で動かすのにも都合がよい。特にメモリ 512MB でいけるというのは、メモリの容量単価がネックになりがちな VPS ではかなりありがたい。

k3s はよくある curl + sh のワンライナーをコピペしてきて実行すれば一発でインストールされる。これだけで手続き的なセットアップの世界を脱出して宣言的な世界にいけると考えると、かなり楽に使える。

加えて、好みが分かれるところかもしれないが Traefik Ingress Controller、Klipper LB、CoreDNS が最初からインストールされていているのも便利ではある。これがあることによって、マネージドの Kubernetes を使う場合と同様に、Ingress や LoadBalancer Service を使うだけでいきなり Service を外部に公開できる。

Ingress Nginx Controller や MetalLB のほうが広く使われていて調べ物がしやすい気はする。実際、Traefik の設定にはそれなりに苦戦している。

ここにたどり着いてみれば、すごくしっくり来ているし楽しく運用できている。ただ、着手する前の段階では、シングルノードで割り切るあたりとかこれでやろうという考えはなかなか出てこなくて、たまたま同じようなことをしている記事を見かけたのが参考になった。

k3s を運用していく中でやったことはまた別の記事でしていきたい。


Related articles