TechLunch

The free lunch is over.

Kubebuilder: Kubernetes APIを開発するためのSDK

Kubernetesブログで、Kuberbuilderに関する記事がポストされました。

Kubebuilderは、KubernetesのCRD (Custom Resource Definition)を利用して、独自のKubernetes APIとカスタムコントローラを構築するためのSDK (Software Development Kit) です。 これを利用し独自APIとコントローラを開発することで、MySQLやSpark, CassandraといったアプリケーションをKubernetesのPodと同じように管理することができるようになります。つまり、アプリケーションをStatefulSetやSevice、ConfigMapのコレクションではなく、ファーストクラスのAPIで管理可能となります。

Kubebuilderを利用せずに独自コントローラを開発するには、

However, while it has been possible for trailblazers to build new Controllers on top of the raw API machinery, doing so has been a DIY “from scratch” experience, requiring developers to learn low level details about how Kubernetes libraries are implemented, handwrite boilerplate code, and warp their own solutions for integration testing, RBAC configuration, documentation, etc.

と記事に書かれているように、Kubernetesについて深い知識が必要でしたが、Kubebuilderを利用することで詳細が隠蔽されるため、比較的容易にコントローラを開発することができるようです。

Kuberbuilderの書籍もあるようなので、興味がある方は試してみたらいかがでしょうか。