☸️

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