简介
在一个K8s集群中可以拥有多个命名空间,它们在逻辑上彼此隔离
namespaces是对一组资源和对象的抽象集合,比如可以将系统内部的对象划分为不同的项目组或用户组
K8s在集群启动之后,会默认创建几个namespace
默认namespace
default:所有未指定Namespace的对象都会被分配在default命名空间
kube-node-lease:集群节点之间的心跳维护,v1.13开始引入
kube-public:此命名空间下的资源可以被所有人访问(包括未认证用户)
kube-system:所有由K8s系统创建的资源都处于这个命名空间
查看所有namespace
kubectl get namespace
查看namespace详情
kubectl describe ns 命名空间
Status:Active 命名空间正在使用中/Terminating 正在删除命名空间
No resource quota:针对namespace做的资源限制
No LimitRange resource:针对namespace中的每个组件做的资源限制
创建namespace
命名规则:由字母、数字、下划线、连接线等字符组成,并且开头和结尾都必须使用字母、数字或字母数字的组合
例如:my-name、123-abc、MyValue、my_value或12345
kubectl create ns 命名空间
删除namespace
kubectl delete ns itbaizhan
创建namespace【使用配置文件】
vi test.yaml
kind: Namespace apiVersion: v1 metadata: name: test labels: name: test
kubectl apply -f test.yaml