2.3.6 ネームスペースによる操作

ネームスペースは、リソースの使用を細かく分離することと、特定のユース・ケースに限定された環境を提供することを目的として使用できます。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