ネームスペースは、リソースの使用を細かく分離することと、特定のユース・ケースに限定された環境を提供することを目的として使用できます。Kubernetesでは、デフォルトでKubernetesのシステム・コンポーネントに対応するネームスペースと、それ以外のネームスペースが定義されていないデプロイメントに使用する標準ネームスペースが構成されます。
既存のネームスペースを表示するには、kubectl get namespacesコマンドとkubectl describe namespacesコマンドを使用します。
kubectlコマンドは、リクエストで具体的なネームスペースを指定していないと、デフォルト・ネームスペースのリソースのみを表示します。そのため、Kubernetesシステムに固有のポッドを表示する必要がある場合は、リクエストに--namespace
オプションを使用してネームスペースをkube-system
に設定します。たとえば、単一マスター・ノードのクラスタでは次のようにします。
$ kubectl get pods --namespace=kube-system
NAME READY STATUS RESTARTS AGE
coredns-5bc65d7f4b-qzfcc 1/1 Running 0 23h
coredns-5bc65d7f4b-z64f2 1/1 Running 0 23h
etcd-master1.example.com 1/1 Running 0 23h
kube-apiserver-master1.example.com 1/1 Running 0 23h
kube-controller-master1.example.com 1/1 Running 0 23h
kube-flannel-ds-2sjbx 1/1 Running 0 23h
kube-flannel-ds-njg9r 1/1 Running 0 23h
kube-proxy-m2rt2 1/1 Running 0 23h
kube-proxy-tbkxd 1/1 Running 0 23h
kube-scheduler-master1.example.com 1/1 Running 0 23h
kubernetes-dashboard-7646bf6898-d6x2m 1/1 Running 0 23h