Finch で Kind クラスターを構築する(Mac 環境)
はじめに
本記事では Docker を使わずに Finch 上で kind クラスターを構築する方法 を紹介します。
Apple Silicon(M3,M4 など)Mac を使っていて Docker Desktop の代替を探している方、Finch を活用したローカル Kubernetes 開発環境に興味がある方向けです。
Finch とは?
Finch は AWS が中心となって開発しているコンテナ開発ツールで macOS 上でも動作します。
Docker Desktop の代替として注目されており、以下のような特徴があります。
- オープンソース(Lima, containerd, nerdctl 等をベース)
- Apple Silicon(M シリーズ)でも利用可能
-
finch
コマンドはdocker
コマンドと類似性/互換性あり
動作確認済み環境
- MacBook Air M4
- メモリ 16GB
- macOS Sequoia Version 15.2
- Finch v1.7.2
- kind v0.27.0
Finch のインストール
Finch は Homebrew 経由でインストールできます。
brew install finch
インストールが完了したら、Finch のバージョンを確認しておきましょう。
finch --version
finch version v1.7.2
Finch の初期セットアップ
インストール直後は仮想マシンの初期化が必要です。以下を実行してください。
finch vm init
この操作により、内部で Lima ベースの仮想マシンが作成・起動され、以後 finch
コマンドが使用可能になります。
kind のインストールと初期設定
kind のインストール
Homebrew でインストールできます。
brew install kind
Finch を docker として扱う設定
kind
は内部で docker
コマンドを使用してコンテナを管理します。
Finch を使うには docker
コマンドを finch
に差し替えるエイリアスを設定する必要があります。
alias docker='finch'
このエイリアスを .zshrc
に追加し、反映させておきましょう。
echo "alias docker='finch'" >> ~/.zshrc
source ~/.zshrc
マルチノードクラスターの作成
kind
は YAML 設定ファイルでマルチノード構成を定義できます。
設定ファイル例(kind-config.yaml)
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
このファイルを元にクラスターを作成します。
kind create cluster --config kind-config.yaml --name finch-multi
ノード確認
kubectl get nodes
NAME STATUS ROLES AGE VERSION
finch-multi-control-plane Ready control-plane 2m19s v1.32.2
finch-multi-worker Ready <none> 2m9s v1.32.2
finch-multi-worker2 Ready <none> 2m9s v1.32.2
ノードが 3 つ表示されれば成功です。
クラスターの削除とお片付け
作成したクラスターは以下で削除できます。
kind delete cluster --name finch-multi
まとめ
Finch 環境でも alias docker='finch'
を設定すれば Docker 環境がなくとも kind
を動作させることができます。
Docker Desktop を使わずに、軽量なローカル Kubernetes 開発環境を構築したい方には Finch + kind の組み合わせは非常に有効です。
この記事が Finch 環境での kind 利用を検討している方の参考になれば幸いです。
Discussion