コンテンツにスキップ

kind

DockerやPodman上にKubernetesのノードとして動くコンテナをデプロイ

kind

クラスタ作成

基本 (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