More than 5 years have passed since last update.

kubectl で Namespace を切り替える

Last updated at Posted at 2018-04-12


  • Namespace を使うと同一クラスタ内で Pod や Service, Deployment や StatefulSet などを仮想的なクラスタとしてグルーピングして取り扱うことができて便利。
  • ここでは kubectl コマンドで Namespace を切り替えて扱う方法についてまとめる。

Namespace を一時的に切り替える

  • 実行コマンドごとに Namespace を切り替えたい場合は -n オプションを使う。
# 表示する Namespace を "mynamespace" に切り替える
$ kubectl -n mynamespace get all

Namespace を永続的に切り替える

  • 接続中のコンテキストでのデフォルト Namespace を変更する。
# コンテキストのデフォルト Namespace を "mynamespace" に変更する
$ kubectl config set-context $(kubectl config current-context) --namespace=mynamespace

# Namespace を確認する
$ kubectl config view | grep namespace:

特定の Namespace 用の kubectl コマンドを用意する

  • 同一クラスタ内で複数 Namespace を扱っている際、永続的には切り替えたくないが特定の Namespace に頻繁に切り替えたいとする。
  • この場合は特定の Namespace が適用済みの kubectl コマンドを用意すると便利かもしれない。
/usr/local/bin/kubectl -n mynamespace $@
  • 使い方は通常の kubectl コマンドと同様
./kubectl-mynamespace.sh get all

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
What you can do with signing up