⚓
Windows wsl2 + kindでローカルKubernetesを使用してみる
はじめに
今までローカルKubernetes環境としてMinikubeやDocker Desktop上のKubernetesを利用してきたが、今更ながら複数Node構成などが可能?であるkindを知ったので環境を準備したときの備忘録。
前提環境
- OS: Windows11, WSL2(Ubuntu 22.04.4 LTS)
- Docker Desktop: 4.37.1
- Docker: 27.4.0
kindインストール
事前準備
以下の項目が用意されていれば良さそうです。(kubectlは必須ではないようですが、ハンズオンする際にあったほうが良さそうです。)
- WSL2
- Docker
- kubectlクライアントコマンド
DockerとkubectlはDocker DesktopをインストールすればWSL上でも使えるようになっているはず?
もし、WSL上でdocker --version
やkubectl version
コマンドが使えなければDocker DesktopのSettingsのResourcesのWSL integrationが有効になっているか確認してみてください。
インストール
kindドキュメントのQuick Startにあるコマンドを実行していきます。
今回はInstalling From Release Binariesの方法でインストールします。
私の環境はx86_64なので、下記のコマンドを実行します。(uname -m
で確認しました。)
# For AMD64 / x86_64
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.26.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
下記のようにversionを表示できればインストールできています。
$ kind --version
kind version 0.26.0
$ kind version
kind v0.26.0 go1.23.4 linux/amd64
クラスターの作成と削除
ついでに、kindドキュメントのInteracting With Your Cluster, Deleting a Clusterにあるサンプルを試してみます。
クラスターの作成
下記のコマンドでクラスターを作成します。--name
で指定しないとデフォルトでkindというクラスターが作成されるようです。
$ kind create cluster --name kind-2
Creating cluster "kind-2" ...
✓ Ensuring node image (kindest/node:v1.32.0) 🖼
✓ Preparing nodes 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
Set kubectl context to "kind-kind-2"
You can now use your cluster with:
kubectl cluster-info --context kind-kind-2
Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂
下記のコマンドで作成されたクラスターを確認してみます。
$ kind get clusters
kind-2
$ kubectl cluster-info --context kind-kind-2
Kubernetes control plane is running at https://127.0.0.1:43163
CoreDNS is running at https://127.0.0.1:43163/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
クラスターの削除
$ kind delete cluster --name kind-2
Deleting cluster "kind-2" ...
Deleted nodes: ["kind-2-control-plane"]
$ kind get clusters
No kind clusters found.
Discussion