Kubernetes 之namespace


Kubernetes 之namespace


Namespace是對一組資源和對象的抽象集合,比如可以用來將系統內部的對象劃分為不同的項目組或用戶組。常見的pods, services, replication controllers和deployments等都是屬於某一個namespace的(默認是default),而node, persistentVolumes等則不屬於任何namespace。


Kubernetes 之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


Kubernetes 之namespace


分享到:


相關文章: