技術書典7で「はじめるCluster API ―宣言的なAPIによるKubernetesクラスタ構築マニュアル―」を頒布します。

技術書典7:てっき~メディア 詳細
インフラ系OSSの情報を中心に、できればお仕事にも役立つコンテンツを目指します

表紙イラストはへびつかいさんに提供していただきました。ありがとうございます!

どんな本?

Kubernetes のサブプロジェクトとして開発が進められている Cluster API の入門書です。

Cluster API は、 Kubernetes で採用されている宣言的な API を使って、Kubernetes クラスタ自体の構築や管理をできるようにするプロジェクトです。 この本では、Cluster API が登場した背景や概要について紹介し、AWS 環境上に実際に動作する Kubernetes クラスタを構築する方法を解説しています。

目次はこんな感じです👇

はじめる Cluster API - 目次
はじめる Cluster API - 目次

第1章では、Kubernetes の基本となるコンセプトやクラスタのアーキテクチャの解説を交え、Cluster API の登場した背景や基本的な概念について解説します。

第2章のハンズオンセクションでは、Cluster API Provider AWS を使って、AWS環境に Kubernetes クラスタを構築する手順を紹介しています。

第3章では、Cluster API を Kubernetes エコシステムと組み合わせて使う例を紹介します。 クラスタの構成が YAML マニフェスト化できるという点を踏まえ、 Kustomize と Argo CD の組み合わせでクラスタの構築・構成変更を行う例を紹介します。

なぜこの本を書いたのか

Cluster API とその関連プロジェクトは、現在も開発が進められている発展途上のプロジェクトです。 Web 上にはまとまった情報源がなく、とくに日本語でまとめられた情報は非常に限られます。

Cluster API についてある程度まとまった情報を提供し、新たにチャレンジする方にとってのハードルを下げたい、という思いから本書を執筆いたしました。 たくさんのユーザさんがプロジェクトにかかわり、コミュニティの発展とともに Kubernetes を利用できる環境がもっと身近な存在になってほしいなという思いが込められています。

Cluster API には Kubernetes が持つ特性や拡張性を活かした仕組みがたくさん詰まっています。 本書を通じて、コンテナオーケストレーションにとどまらない Kubernetes の魅力を体験していただければ幸いです。

Cluster API Provider

「どのクラウド環境を対象にするか」という点については、執筆にあたりはじめに悩んだポイントでした。 過去にCluster API OpenStack Provider を使ってクラスタを作るというのをやったことがあり、個人的に経験のある OpenStack でやるか、他のプロバイダをイチから検証するかで悩みました。

最終的には、本書のテーマである「はじめる」にフォーカスを置き、AWS 環境を対象にすることにしました。 Cluster API を試すにあたって、 OpenStack 環境を用意するというハードルを設けたくなかったからです。 AWS アカウントさえ用意すれば、本書の手順を参考にしてすぐに「はじめる」ことができるようにしました。

コード例・ハンズオン手順は API v1alpha2 に対応

もともとは API version の v1alpha1 を前提に執筆を進めていました。 しかし、サークル内での締め切り日に Cluster API v0.2.1 がリリースされ 最新バージョンが変わるとともに、 API version も v1alpha2 へとアップデートされました。

新しいバージョンがリリースされプロジェクトの前進を喜ばしく思う一方、本を出す前から内容が古くなってしまったという出来事には結構なショックがありました。 本書を手にとって頂いた方にとって、ツールのバージョンの違いで混乱したり、本書の手順通りに作業を行ってもうまく動かないということが起こらないかを懸念していたからです。 リリーススケジュールをきちんとと確認していなかったことを本当に悔やみました。

「これは次回の技術書典でアップデートかな・・・!?」とも考えていたのですが、サークルの方から「入稿スケジュールを調整するから最新バージョンにアップデートしてみないか?」と提案をいただきました。

その後、大急ぎで新バージョンを検証し、コードサンプルやハンズオンセクションの手順を v1alpha2 に対応した形でアップデートしました。 なんとか入稿スケジュールに間に合い、みなさんに出来るだけ最新の内容をお届けするということができました。

さいごに

今回の執筆にあたっては、多くの方々にご支援いただきました。 会社では、アドテクの青山くんをはじめ、同じチームの方々には構成や内容について多くの有益なアドバイスをいただきました。 またサークルの石川さんには、校正やスケジュールの調整など多くの場面でサポートをいただきました。 みなさま本当にありがとうございました。

それでは、当日は 【お13C】 サークル「てっき〜メディア」にてお待ちしております!

技術書典7:てっき~メディア 詳細
インフラ系OSSの情報を中心に、できればお仕事にも役立つコンテンツを目指します