コンテンツにスキップ

コマンド@K3D

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. セットアップ

$ curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | sh

$ k3d version


02. cluster

create

▼ --agents

ワーカーNodeの数を設定する。

$ k3d cluster create foo-cluster --image rancher/k3s:v1.28.0-k3s1 --agent 3
$ kubectl get node -o wide

NAME                       STATUS   ROLES                  AGE   VERSION        INTERNAL-IP   EXTERNAL-IP   OS-IMAGE   KERNEL-VERSION                 CONTAINER-RUNTIME
k3d-foo-cluster-server-0   Ready    control-plane,master   43s   v1.26.6+k3s1   172.18.0.2    <none>        K3s dev    5.4.226-129.415.amzn2.x86_64   containerd://1.7.1-k3s1
k3d-foo-cluster-agent-0    Ready    <none>                 17s   v1.26.6+k3s1   172.18.0.5    <none>        K3s dev    5.4.226-129.415.amzn2.x86_64   containerd://1.7.1-k3s1
k3d-foo-cluster-agent-1    Ready    <none>                 16s   v1.26.6+k3s1   172.18.0.4    <none>        K3s dev    5.4.226-129.415.amzn2.x86_64   containerd://1.7.1-k3s1
k3d-foo-cluster-agent-2    Ready    <none>                 16s   v1.26.6+k3s1   172.18.0.6    <none>        K3s dev    5.4.226-129.415.amzn2.x86_64   containerd://1.7.1-k3s1
# ArgoCDを作成するワーカーNodeの場合
$ kubectl label node k3d-foo-cluster-agent-0 node-type=deploy

# IngressやIngressGatewayを作成するワーカーNodeの場合
$ kubectl label node k3d-foo-cluster-agent-1 node-type=ingress

# アプリケーションを作成するワーカーNodeの場合
$ kubectl label node k3d-foo-cluster-agent-2 node-type=app

▼ --config

config.yamlファイルを使用して、K3D Clusterを作成する。

$ k3d cluster create --config config.yaml

▼ --image

Kubernetesのバージョンを指定して、K3D Clusterを作成する。

$ k3d cluster create foo-cluster --image rancher/k3s:v1.28.0-k3s1

▼ --servers

コントロールプレーンNodeの数を設定する。

$ k3d cluster create foo-cluster --image rancher/k3s:v1.28.0-k3s1 --servers 2

▼ --volume

ホストマシンのファイルをK3d Clusterにマウントする。

config.yamlファイルやregistries.yamlファイルをK3D Cluster内に配置する時に役立つ。

$ k3d cluster create foo-cluster --volume "registries.yaml:/etc/rancher/k3s/registries.yaml

▼ --wait

kube-apiserverからリクエストが返却された上で、処理を完了させる。

デフォルトで有効になっている。

$ k3d cluster create foo-cluster --image rancher/k3s:v1.28.0-k3s1 --wait


delete

$ k3d cluster delete foo-cluster


list

K3D Clusterの情報を取得する。

$ k3d cluster list

NAME          SERVERS   AGENTS   LOADBALANCER
foo-cluster   1/1       4/4      true


03. config

init

config.yamlファイルを作成する。

$ k3d config init

INFO[0000] COMING SOON: print a basic k3d config with default pre-filled.
apiVersion: k3d.io/v1alpha5
kind: Simple
metadata:
  name: k3s-default
servers: 1
agents: 0
image: docker.io/rancher/k3s:v1.27.4-k3s1