kind
DockerやPodman上にKubernetesのノードとして動くコンテナをデプロイ
クラスタ作成
基本 (kind
という名前のクラスタを作成すr)
$ kind create cluster
名前指定
$ kind create cluster --name sample-cluster
停止
kindクラスタの停止は無い。
クラスタを削除するか、ノードとして動作してるコンテナを停止する。
コンテナを停止するにはdocker stop
するが、停止対象コンテナはkind get nodes
で取得できる。
$ kind get nodes
kind-control-plane
引数無しの場合は、デフォルト設定で作成したクラスタ名kind
のノードになる。
クラスタ名を指定する場合は
$ kind get nodes --name cluster-name
この結果をdocker stop
に渡すために、全体としてはこんな感じ。
$ kind get nodes --name cluster-name | xargs docker stop
マルチノード
ノード設定用のファイル作成する。
# three node (two workers) cluster config
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
で、このファイルを指定してクラスタ作成する。
$ kind create cluster --config kind-config.yaml
クラスタバージョンの指定
Releases · kubernetes-sigs/kind
リリースノートに各種バージョンのコンテナIDの記載があるのでそれを指定する。
v1.19ならこんな感じ。
# three node (two workers) cluster config
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
image: kindest/node:v1.19.11@sha256:07db187ae84b4b7de440a73886f008cf903fcf5764ba8106a9fd5243d6f32729
- role: worker
image: kindest/node:v1.19.11@sha256:07db187ae84b4b7de440a73886f008cf903fcf5764ba8106a9fd5243d6f32729
- role: worker
image: kindest/node:v1.19.11@sha256:07db187ae84b4b7de440a73886f008cf903fcf5764ba8106a9fd5243d6f32729