0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

kubectlのデフォルトnamespaceをコマンドで変更

Posted at

概要

kubectlでコマンドを実行するとき、 --namespace で任意のnamespaceを指定できる。

$ kubectl get pods --namespace=hoge

特に指定しない場合はデフォルトのnamespaceが利用される。

またコマンドでどのnamespaceがデフォトで呼び出されるかわかる。

# 設定されているnamespaceがわかる
$ kubectl config veiew | grep namespace

# 現在存在するnamespaceが一覧できる
$ kubectl get ns

便利である一方、基本的に操作されるnamespaceが同じなのに毎回指定するのは面倒だしヒューマンエラーも起きる。

その場合はデフォルトnamespaceを登録してやる。

やってみる

手動でファイル更新は悪手なので、コマンドで操作していく。
やることはシンプルで「どのcontextが」「どのnamespaceに紐づくか」を設定してやるだけ。

$ kubectl config set-context $(kubectl config current-context) --namespace=[ns名]

ちなみに上記はcurrent-contextをset-contextに渡している。
current-contextはこのコマンドで見れる。

$ kubectl config current-context

current-context以外を渡したい時は、$()を変えてやればいい。

以下のコマンドのような結果ならOK。

$ kubectl config view | grep namespace
    namespace [ns名]

小ネタ

--namespace で任意のnamespaceを指定できる、と言ったが以下の4パターンとも有効。同じ結果が返ってくる。

$ kubectl get pods --namespace=hoge
$ kubectl get pods -n=hoge
$ kubectl get pods --namespace hoge
$ kubectl get pods -n hoge
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?