kubertes① ローカル環境セットアップ

kindで検証環境を作る

context

list context

kubectl config get-contexts

show current context

kubectl config current-contexts

switch context

kubectl config use-context CONTEXT_NAME

kind

デフォルトのクラスタでとりあえずpodをrunしてみる。

kubectl run --restart=Never nginx --image=nginx:latest
$ kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE     IP           NODE                 NOMINATED NODE   READINESS GATES
nginx   1/1     Running   0          6m39s                kind-control-plane   <none>           <none>

kindではデフォルトではシングルノード構成なので、1つのnodeがworker nodeかつmaster node(control-plane)として動くようだ。

既存のclusterを削除してマルチノードクラスターを作る。 まずは削除。

$ kind get clusters
kind
$ kind delete cluster
Deleting cluster "kind" ...
$ kind get clusters
No kind clusters found.

cluster構成の操作はconfigとして記載してkind createコマンドに食わせるらしい。
configの書き方はここをみれば良い。https://kind.sigs.k8s.io/docs/user/configuration/

config) multi-cluster.yml

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4

nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker

いざ作成。

$ kind create cluster --config multi-cluster.yml

いい感じにできてる。

$ kind get clusters
kind
$ kind get nodes
kind-control-plane
kind-worker2
kind-worker3
kind-worker

適当なpodも動かしてみる。

$ kubectl run --restart=Never nginx --image=nginx:latest
pod/nginx created

ちゃんとworker nodeで動いてる。

$ kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE   IP           NODE           NOMINATED NODE   READINESS GATES
nginx   1/1     Running   0          62s                kind-worker3   <none>           <none>