kubernetesで複数のクラスタを作成すると、kubectlコマンドで操作対象にするクラスタやネームスペースを選択するのが煩雑になります。
kubectl config set-contextでコンテキストにクラスタとネームスペースの組み合わせに名前をつけて切り替えられるようになるので便利です。
最初の環境
下記のように、最初に作成したクラスタとdefaultネームスペースが捜査の対象になります。
$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * sandbox sandbox user-6ds5r
コンテキストの作成
kubectl config set-contextコマンドで、クラスタとネームスペースの組み合わせに名前をつけます。
下記のようにsandboxクラスタのjenkinsネームスペースにjenkinsというコンテキスト名を付けます。
kubectl config set-context jenkins --cluster=sandbox --namespace=jenkins --user=user-6ds5r $ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE jenkins sandbox user-6ds5r jenkins * sandbox sandbox user-6ds5r $
コンテキストの使用
kubectl config use-contextでコンテキストを切り替えます。
これで、kubectlコマンドの操作対象がsandboxクラスタのjenkinsネームスペースになります。
$ kubectl config use-context jenkins Switched to context "jenkins". $ kubectl config current-context jenkins $ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * jenkins sandbox user-6ds5r jenkins sandbox sandbox user-6ds5r $
以上