Uncategorized

kubectlのデフォルト環境

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
$

以上

タイトルとURLをコピーしました