更新时间:2024-09-30 GMT+08:00

创建命名空间

操作场景

命名空间Namespace)是对一组资源和对象的抽象整合。在同一个集群内可创建不同的命名空间,不同命名空间中的数据彼此隔离。使得它们既可以共享同一个集群的服务,也能够互不干扰。

例如可以将开发环境、测试环境的业务分别放在不同的命名空间。

前提条件

至少已创建一个集群。

约束与限制

每个命名空间下,创建的服务数量不能超过6000个。此处的服务对应kubernetes的service资源,即工作负载所添加的服务。

命名空间类别

命名空间按创建类型分为两大类:集群默认创建的、用户创建的。

  • 集群默认创建的:集群在启动时会默认创建defaultkube-publickube-system、kube-node-lease命名空间。
    • default:所有未指定Namespace的对象都会被分配在default命名空间。
    • kube-public:此命名空间下的资源可以被所有人访问(包括未认证用户),用来部署公共插件、容器模板等。
    • kube-system:所有由Kubernetes系统创建的资源都处于这个命名空间。
    • kube-node-lease:每个节点在该命名空间中都有一个关联的“Lease”对象,该对象由节点定期更新。NodeStatus和NodeLease都被视为来自节点的心跳,在v1.13之前的版本中,节点的心跳只有NodeStatus,NodeLease特性从v1.13开始引入。NodeLease比NodeStatus更轻量级,该特性在集群规模扩展性和性能上有明显提升。
  • 用户创建的:用户可以按照需要创建命名空间,例如开发环境、联调环境和测试环境分别创建对应的命名空间。或者按照不同的业务创建对应的命名空间,例如系统若分为登录和游戏服务,可以分别创建对应命名空间。

创建命名空间

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在左侧导航栏中选择命名空间,在右上角单击“创建命名空间”。
  3. 参照表1设置命名空间参数。

    表1 命名空间基本信息

    参数

    参数说明

    名称

    新建命名空间的名称,命名必须唯一。

    描述

    输入对命名空间的描述信息。

    配额管理

    资源配额可以限制命名空间下的资源使用,进而支持以命名空间为粒度的资源划分。

    须知:

    建议根据需要在命名空间中设置资源配额,避免因资源过载导致集群或节点异常。

    请输入整型数值,不输入表示不限制该资源的使用。

    若您需要限制CPU或内存的配额,则创建工作负载时必须指定CPU或内存请求值。

  4. 配置完成后,单击“确定”。

使用kubectl创建Namespace

使用如下方式定义Namespace。

apiVersion: v1 
kind: Namespace 
metadata: 
  name: custom-namespace 

使用kubectl命令创建。

$ kubectl create -f custom-namespace.yaml
namespace/custom-namespace created 

您还可以使用kubectl create namespace命令创建。

$ kubectl create namespace custom-namespace 
namespace/custom-namespace created