kubernetes学習ノート(二)ネーミングスペース(namespace)

1600 ワード

ネーミングスペースは何ですか?なぜ必要なの?kubernetesネーミングスペース(namespace)は何ですか?ネーミングスペース、または他の名前とは、仮想クラスタです.仮想クラスタにより、kubernetesは、ホストで抽象化された仮想マシンのように、単一のクラスタ上に複数のkubernetesのクラスタを提供することができることを意味する.kubernetesドキュメントの説明:
kubernetesは、1つの物理クラスタ上に複数の仮想クラスタを提供します.これらの仮想クラスタはネーミングスペースと呼ばれます.
どうして名前空間が必要なの?一言で言えば、隔離.
隔離には、安全で清潔な環境を提供するなど、多くの利点があります.インフラストラクチャの所属者であり、開発者に環境を提供するには、隔離が重要です.あなたが最も必要としないのは、クラスタがどのように構築されているかを知らない人がシステム構成を変更することです.これは、すべての人がログインできない可能性があります.
初期ネーミングスペースクラスタの3つの初期ネーミングスペース:default、kube-system、kube-public.技術的にはこの3つのネーミングスペースを導入することができますが、あなたのプロジェクトではなく、この3つのネーミングスペースをシステム構成用に残すことをお勧めします.
Defaultは、ネーミングスペースが指定されていない導入に使用されます.これは、正確な情報がない場合に多くの導入を行うと、整理が難しくなります.私はそれを動かすつもりはありません.それはこの用途だけで、いくつかの状況で私を誤解したことがあります.Kube-systemは、Kubernetesシステムに関連するすべてのオブジェクトからなるネーミングスペースです.このネーミングスペースの導入は危険な操作であり、システム自体に取り返しのつかない破壊をもたらす可能性があります.そう、やってみた.だからお勧めしません.Kube-publicはすべての人が読むことができますが、このネーミングスペースはシステムのために保存されています.
ネームスペースコマンドアクション
ネームスペースの取得
kubectl get namespace
# namespace     ns, :kubectl get ns

デフォルトはdefaultというネーミングスペースにあります.
指定したネーミングスペースのpodを表示
kubectl get pods -n kube-system

ネームスペースの作成
kubectl create ns ns1

ネームスペースの削除
kubectl delete ns ns1

ネーミングスペースを切り替えるネーミングスペースを切り替えるのは面倒で、サードパーティコマンドを使用して実現できます.サードパーティコマンドkubensをダウンロード
mv kubens /bin/
chmod +x /bin/kubens

kubensコマンドを使用して、現在どのネーミングスペースにあるかを表示します.
kubens

kubensコマンドを使用してネーミングスペースを切り替えます
kubens kube-system