在kubernetes上,资源有两个级别,node就是集群级别,pod是名称空间级别的资源;
整个集群又划分为多个名称空间,所以在此使用kubectl get namespaces
来获取名称空间;
kubenetes安装完默认有三个名称空间:
kube-system
名称空间:系统级别的Pod都运行在此名称空间中
default默认
名称空间:假如说你创建了一个Pod没有指定名称空间,默认在default名称空间当中
kube-public
公共名称空间:公开的名称空间,任何人都可以访问
查询所有名称空间
kubectl get ns
#简写
kubectl get namespaces
#全写
显示指定名称空间
1 2 3 4 5 6 |
#简写显示的两种方法 kubectl get ns kube-system kubectl get ns/kube-system #全写显示的两种方法 kubectl get namespaces kube-system kubectl get namespaces/kube-system |
指定输出格式显示名称空间
1 2 3 4 5 |
#查看所有的名称空间并指定格式输出 kubectl get ns -o [yaml|json|wide|name] #查看指定名称空间并指定格式输出 kubectl get ns/kube-system -o [yaml|json|wide|name] |
创建名称空间
默认创建 namespace 后,namespace 中是空的,namespace是资源逻辑组合,我们在创建其它资源对象的时候可以指定到我们创建的名称空间中。
kubectl create ns production
#简写
kubectl create namespace production
#全写
删除名称空间
删除名称为production的名称空间(如果此名称空间下有其它资源对象,例如Pod将会被一并删除)
1 2 3 4 5 6 7 8 9 10 11 12 |
#一次删除一个名称空间 ##简写 kubectl delete ns production ##全写 kubectl delete namespace production #一次删除多个名称空间 ##简写 kubectl delete ns/test ns/production kubectl delete ns test production ##全写 kubectl delete namespace test production kubectl delete namespace/test namespace/production |