2
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.

コンテキスト?ネームスペース?クラスター?

Posted at

コンテキストとネームスペースとクラスターの違い

 クラスターについてはおそらく説明は不要かと思います。ネームスペースもまだわかります。が、そうするといよいよコンテキストってなんだよ?ってなりません?僕はなりました。今回はその説明をしたいと思います。

概略図
k8s.png

クラスター

 最も理解しやすい概念だと思います。複数のNodeから成り立っており、Nodeが物理的に分かれていることで信頼性冗長性を高めます。

ネームスペース

 クラスターを論理的に複数のクラスタに分割するものです。簡単な使い方として「開発環境→ステージング環境→本番環境」みたいに切り替える使い方があります。

コンテキスト

 クラスターとネームスペースをセットにしてユーザーと紐づけるものです。こうすることで、指定のクラスタの決まったネームスペースに簡単に移動できます。

kubectx/kubens

 が、仮ににクラスターがA~Dまであって、それぞれnamespace1~namespace5まであるとすると、コンテキストは

clusterA-name1
clusterA-name2
clusterA-name3
clusterA-name4
clusterA-name5
clusterB-name1
clusterB-name2
clusterB-name3
clusterB-name4
clusterB-name5
clusterC-name1
clusterC-name2
clusterC-name3
clusterC-name4
clusterC-name5
clusterD-name1
clusterD-name2
clusterD-name3
clusterD-name4
clusterD-name5

 みたいなことになります。それならクラスタ名とネームスペースをその都度サクッと指定できた方が楽ですよね。なのでkubectx/kubensをつかってコンテキストにクラスタ名だけ設定してあげれば(たぶんできる)

# コンテキスト(クラスタ)の切り替え
$ kubectx clusterA
Switched to context "clusterA".

# ネームスペースの切り替え
$ kubens namespace1
Context "clusterA" is modified.
Active Namespace is "namespace1".

の様になって使いやすいかと思います。

2
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
2
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?