K8S:Namespace详解
Namespace概念
Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群,这些虚拟集群被称为命名空间。
命名空间 namespace 是 k8s 集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间。
在创建pod的时候可以指定pod到namespace。
命名空间适用于存在很多跨多个团队或项目的用户的场景。对于只有少数项目人员的集群则不需要使用namespace。
在你部署完k8s集群后,会提供几个默认的namespace,kube-system主要用于运行系统级资源,存放k8s一些组件的。
default为那些未指定名称空间的资源操作提供一个默认值,即你在创建pod时如果没有指定namespace,则会默认使用default这个namespace。
Namespace指令
kubectl get namespace
该命令用于查看k8s集群中的所有名称空间
kubectl describe namespace +名称空间的名字
该命令用于查看指定名称空间的详细信息
kubectl create namespace +名称空间的名字
该命令用于创建新的namespace
查看namespace,发现其中有我们新建的test,表示我们创建成功
kubectl delete namespace +名称空间的名字
该命令用于删除指定的namespace,注意,删除namespace时,它所包含的所有资源也会被一并被删除,所以在删除时要确定是自己没有用的资源在进行删除。并且如果意外删除到系统的namespace,则会导致整个集群down
kubectl api-resources --namespaced=true
该命令用于查看属于namespace级别的资源