cluster
とnamespace
とcontext
の操作について整理します。
cluster
クラスタを一覧します。
kubectl config get-clusters
クラスタは、サーバの集まりなので、同じクラスタで動くワークロードはサーバリソースを共有します。負荷テスト用、開発用、本番用など、負荷とコストのバランスを考慮してクラスタを考える必要があります。
namespace
ネームスペースを一覧します。
$ kubectl get namespaces NAME STATUS AGE default Active 27m ingress-nginx Active 26m kube-public Active 27m kube-system Active 27m $
ネームスペースは、クラスタに作成するリソースを入れるフォルダのようなものです。システム毎に作成して、他のシステムのリソースと分離することができます。
コンテキスト
コンテキストの一覧を表示します。
$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * Default local kube-admin $
コンテキストでデフォルトで利用するクラスタとネームスペースを指定できます。
例
jenkins用の環境を作る場合には、次のようにします。
$ kubectl create namespace jenkins namespace/jenkins created $ kubectl config set-context my-jenkins --cluster=local --namespace=jenkins Context "my-jenkins" created. $ kubectl config use-context my-jenkins Switched to context "my-jenkins". $ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE Default local kube-admin * my-jenkins local jenkins $ kubectl config current-context my-jenkins $
以上