在 Kubernetes 中,命名空间(Namespace)提供一种机制,将同一集群中的资源划分为相互隔离的组。同一命名空间下的资源名称要保证唯一,每个Kubernetes资源只能存在于一个命名空间。
按照创建类型,命名空间分为两大类:集群默认创建的命名空间和用户自定义命名空间。
集群默认创建:
default
:所有未指定命名空间的对象都会被分配到 default 命名空间。kube-system
:所有由 Kubernetes 系统创建的资源都处于 kube-system 命名空间。kube-public
:kube-public 命名空间下的资源可以被所有用户(包括未经过身份验证的用户)访问。 该命名空间用来部署公共插件、容器模板等公共资源。kube-node-lease
:kube-node-lease 命名空间用于存放和每个节点关联的租约(Lease)对象。租约对象由节点定期更新。租约期内,集群控制面检测节点发送的心跳,判断节点是否可用。自定义创建:
您可以根据业务需要,创建自定义的命名空间。例如,您可以创建以开发环境、测试环境命名的命名空间,用于隔离不同环境中的业务应用。您也可以根据项目或团队创建命名空间,然后基于命名空间管理各项目或团队成员的权限和资源配额。