命名空间管理

最近更新时间:2025-03-10 18:08:33

我的收藏
命名空间(Namespace)是对 TSF 一组资源和对象的抽象集合,用于进行 TSF 资源的隔离。

命名空间分类

命名空间有三种类型:
类型
个数限制
说明
系统命名空间
创建每个集群时会自动创建一个
命名规则是<cluster-name>_default,不支持绑定到其他集群。
非全局命名空间
每个用户可以创建多个
不同非全局命名空间内的服务之间不能相互调用。
全局命名空间
每个用户在每个地域下只能创建一个
非全局命名空间内的服务可以调用全局命名空间内服务。
全局命名空间内服务支持相互调用,不支持调用非全局命名空间内的服务。
注意:
全局命名空间特性仅适用于1.18.0版本之后的 SDK。
原生应用不支持全局命名空间特性。

与 K8s 命名空间、服务注册配置治理中心命名空间的关系

使用场景
说明
功能说明
K8s 命名空间
容器资源空间
用于容器资源相互隔离
应用管理的命名空间
TSF 资源空间
用于 TSF 资源(集群、应用等)相互隔离,不同命名空间下的资源相互隔离。
注册配置治理中心的命名空间
服务空间
用于服务调用隔离,相同服务空间的服务可以互相调用和推送配置,不同服务空间的服务、配置相同隔离,不能进行服务调用和配置推送。
说明:
当注册配置治理中心为共享实例(TSF-Consul)时,服务空间默认创建,与 TSF 资源空间同名。
当注册配置治理中心为独占实例(北极星)时,服务空间与 TSF 资源空间需分别创建,独立使用,您可以在应用部署时选择该应用关联的服务空间。

应用场景

使用命名空间划分开发环境和测试环境

场景:用户希望部署一套开发环境和一套测试环境,两套环境支持部署同一个应用不同版本的程序包。两套环境可以共享一个集群作为底层部署资源。
解决方案:
1. 创建两个非全局命名空间分别为 dev-envtest-env 作为开发环境和测试环境。
2. 创建一个虚拟机集群,并绑定 dev-envtest-env 命名空间。
3. 创建应用(如 promotion),并创建 2 个部署组(dev-promotiontest-promotion),分别选择 dev-envtest-env 命名空间。
4. 部署组 dev-promotion 部署程序包版本 v1.1,部署组 test-promotion 部署程序包版本 v1.0。
注意:
如果用户希望开发和测试环境的部署资源是隔离的,可以使用两个集群来划分开发和测试环境。

实现服务跨集群访问

在网络连通性的前提下,同一命名空间内的服务可以相互发现和相互调用。如果要实现跨集群的服务访问,有两个前提:
1. 集群内实例网络互通
2. 集群关联相同的命名空间。多个集群通过命名空间名称(而不是命名空间 ID)作为关联的 key。用户可以在命名空间一级页面中看到关联的集群信息。
例如:有2个集群分别是 cluster-1 和 cluster-2,两个集群内实例网络互通(例如在相同 VPC 内),并且都关联了命名空间 test-namespace。要实现跨集群访问,需要确保在创建部署组 provider-group 和 consumer-group 时,使用相同的命名空间 test-namespace。


使用全局命名空间来部署公共服务

场景:在电商场景中,订单业务和物流业务都希望访问用户信息服务。此时可以使用不同命名空间来划分业务领域,将相对独立的业务(例如订单和物流业务)部署在非全局命名空间,将公共服务(例如用户信息服务)部署在全局命名空间中。
解决方案:
1. 创建两个非全局命名空间 order-bizlogistics-biz 作为订单和物流的业务领域。
2. 创建全局命名空间 common-biz 作为公共服务的业务领域。
3. 将订单业务的服务部署在 order-biz 命名空间内,将物流的服务部署在 logistics-biz 内,将用户信息服务部署在 common-biz 内。
4. order-bizlogistics-biz 命名空间内的服务可以访问 common-biz 内的用户信息服务。


创建命名空间并关联集群

创建命名空间

2. 在左侧导航栏中单击资源管理,选择好地域后,在命名空间标签页单击新建命名空间
3. 填写命名空间信息。
名称:不能为空。最长60个字符,只能包含字母、数字及分隔符(“-”),且不能以分隔符开头或结尾。
勾选是否为全局命名空间:每个租户限制创建一个全局命名空间。
标签:非必选。用于分类管理资源。管理方法详情请参见 标签
备注:非必填。集群的描述,不超过200个字符。
数据集:非必选。将新建的集群添加到已有数据集中。数据集使用,管理方法详情请参见 数据集管理
4. 单击确定,完成创建。


集群关联命名空间

1. 进入 腾讯微服务平台,选择资源管理 > 容器集群
2. 选择目标集群 ID,进入集群详情页,选择命名空间
3. 在命名空间列表左上方,单击关联命名空间
4. 选择要关联的命名空间,并单击确定
注意:
集群仅支持关联自定义命名空间。

删除命名空间

前提条件:删除命名空间前,需要先解除命名空间与集群的绑定关系(解除命名空间绑定时,需要先删除具有该命名空间属性的全部部署组)。不支持删除系统命名空间。

解除关联集群

1. 登录 腾讯微服务平台控制台,在左侧导航栏中选择资源管理 > 容器集群
2. 选择目标集群,进入集群详情页,单击命名空间标签页。
3. 在命名空间列表的操作列,单击解除绑定

删除命名空间

1. 登录 腾讯微服务平台控制台,在左侧导航栏中选择资源管理 > 容器集群
2. 选择目标集群,进入集群详情页,单击命名空间标签页。
3. 在命名空间列表的操作列,单击删除
4. 单击确认,即可删除命名空间。