クラウドネイティブ に注目が集まる昨今、コンテナオーケストレーションツールとして Kubernetes がデファクトスタンダードな基盤技術となっています。 Kubernetes を用いることで 宣言的な設定(Declarative Configuration)に基づいたアプリケーションのデプロイ、管理、運用の自動化、スケーラビリティの確保等を実現することができます。Kubernetes によりサービス運用の効率化や高度な自動化を実現できますが、内部のアーキテクチャは非常に複雑なものになっており、コンピュータサイエンスの基本的な知識も必要になります。 運用に際して、インフラエンジニアやクラスタの管理者は Kubernetes の内部コンポーネントの詳細や、その挙動を熟知しておくことが重要です。Kubernetes の有名な学習リソースの一つに Kubernetes The Hard Way というものがあります。 これは、手作業で一からクラスタを構築して Kubernetes の内部構造への理解を深めるというコンテンツです。Kubernetes The Hard Way では、主に GCP の Compute Engine を用いますが、今回は RaspberryPi をベースにベアメタルでクラスタを構築してみました。 いわゆる『おうち Kubernetes』というやつです。今回は、RaspberryPi で Kubernetes をセルフホスティングする方法について 『準備編』『構築編』『エコシステム編』 の 3 編にわたり紹介したいと思います。 準備編では、機器類の準備、RaspberryPi の初期設定をします。 また、Kubernetes の構築に必要となる各種 OSS の選定や、ネットワーク構成およびインフラ全体の設計について固めます。