Namespace是對一組資源和對象的抽象集合,比如可以用來將系統內部的對象劃分為不同的項目組或用戶組。常見的pods, services, replication controllers和deployments等都是屬於某一個namespace的(默認是default),而node, persistentVolumes等則不屬於任何namespace。
[root@kbs1 yml]# kubectl get ns
NAME STATUS AGE
default Active 26d
kube-node-lease Active 26d
kube-public Active 26d
kube-system Active 26d
kubernetes-dashboard Active 7d20h
查看指定命名空間的pods
[root@kbs1 yml]# kubectl get pods --namespace kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-5cfb8744f6-5nxsg 1/1 Running 0 7d20h
kubernetes-dashboard-85c7b454f7-xn857 1/1 Running 3 6d11h
創建namespace
[root@kbs1 yml]# cat jiannamespace.yml
apiVersion: v1
kind: Namespace
metadata:
name: jian-namespace
[root@kbs1 yml]# kubectl create -f jiannamespace.yml
namespace/jian-namespace created
[root@kbs1 yml]# kubectl get ns
NAME STATUS AGE
default Active 26d
jian-namespace Active 4s
kube-node-lease Active 26d
kube-public Active 26d
kube-system Active 26d
kubernetes-dashboard Active 7d20h
在指定namespace創建pod
[root@kbs1 yml]# kubectl create -f jianpod.yml -n jian-namespace
pod/jian-pod-mariadb created
默認查看的namespace是default如果不指定namespace會看不到其他namespace的pod
[root@kbs1 yml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
jian-pod-mariadb 1/1 Running 0 63m 172.30.89.2 192.168.135.196
[root@kbs1 yml]# kubectl get pods -o wide -n jian-namespace
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
jian-pod-mariadb 1/1 Running 0 26s 172.30.89.3 192.168.135.196