😊

おうちKubernetesをはじめる

2024/02/04に公開

概要

前々からやりたいと思っていた、おうちKubernetesをはじめます。

主な目的は、技術のキャッチアップです。 普段業務でマネージドKubernetesを使用しているのですが、既にある程度環境が揃っているので、導入方法がわからないものがあります。それらや新たに導入するものを業務外で気軽に試したりしたいと考えました。

とっかかり

実際におうちKubernetesを構築されている方のサイトをいくつか読みました。

最終的にはマネージドKubernetesの事前検討を行うことができるレベルのクラスタを構成したいと考えました。
下記のページに記載されているように、物理マシンとして、コントロールプレーンに3台、ワーカーノードに3台設けるような構成です。

ただ、最初から上記のレベルのクラスタを構成するのはコスト面、技術面いずれも少しハードルが高いと思いました。

よって、最初は下記のようなラズパイ3台でコントロールプレーン・ワーカーノードを含めたクラスタを構成するやり方にチャレンジしてみます。 いずれ、この3台を最終構成でのコントロールプレーンに使用する想定です。

(2024.11.09追記: のちに、おうちKubernetesをはじめる(HA編) にて、コントロールプレーン3台、ワーカーノード3台のクラスタ構築を達成しました!)

構成

写真

ブロック構成

  • コントロールプレーンx1、ワーカーx2

ハードウェア

  • Raspberry Pi 4 Model B RAM 8GB 3台
  • Gigabit Switch (8-Port)

ソフトウェア

  • Ubuntu Server 22.04.3 LTS 64bit
  • Kubernetes 1.28.2
  • CNI Plugin : Project Calico v3.25.0

主に参考にしたページ

今回選択した構成に合わせ、比較的最近の記事(2023年11月)で、かつUbuntu22.04を使用されている上記ページを主に参考にしてkubeadmで構築しました。
containerdのインストール時、参考ページの方のarchはamd64だったところをラズパイのarm64に読み換えましたが、それ以外はそのままの手順を適用可能でした。
なお、後述の実際の作業内容は私自身の好み等に合わせてアレンジしています。

詳細

詳細は下記の通りです。

Ubuntu、Kubernetesのバージョンは2024年1月初旬時点でのLTS、Stable最新となっていますので、もしこれから同様のことを行う場合には参考になるのではと思います。

感想など

私の「おうちKubernetes」の目的は、まずは技術のキャッチアップであったので、逐次、作業の内容の意味を調べて確認し、その内容を記載しながら、進めました。
このように作業したおかげで特に途中で躓くことはありませんでした。
また、自分で手を動かしてやってみることで、思っていた以上にかなりKubernetesに対する理解が深まりました。
やってみて良かったです。

続き

おうちKubernetesをはじめる(半HA編) に続きます。

Discussion