管理命名空间
命名空间(Namespace)是对一组资源和对象的抽象整合。在同一个集群内可创建不同的命名空间,不同命名空间中的数据彼此隔离。使得它们既可以共享同一个集群的服务,也能够互不干扰。例如可以将开发环境、测试环境的业务分别放在不同的命名空间。
命名空间的类别说明,如表1所示。
创建类型 |
说明 |
---|---|
集群默认创建 |
集群在启动时会默认创建default、kube-public、kube-system、kube-node-lease命名空间。
|
用户创建 |
用户可以按照需要创建命名空间,例如开发环境、联调环境和测试环境分别创建对应的命名空间。或者按照不同的业务创建对应的命名空间,例如系统若分为登录和游戏服务,可以分别创建对应命名空间。 |
本章节指导您为“Kubernetes”、“虚拟机+Kubernetes”类型环境绑定的集群创建命名空间、绑定命名空间、管理命名空间资源配额、解绑命名空间或者删除命名空间。
使用限制
由于1.11.7-r2及以上版本的CCE集群具备Kubernetes RBAC的授权能力,支持设置命名空间权限。命名空间权限是基于Kubernetes RBAC能力的授权,通过权限设置可以让不同的用户或用户组拥有操作不同Kubernetes资源的权限,详情请参考命名空间权限。
如果当前环境下绑定的CCE集群为1.11.7-r2及以上版本且设置了命名空间权限,则您必须拥有集群全部命名空间的管理员权限(cluster-admin)或者待操作的单个命名空间的开发权限(admin),才能管理命名空间。
创建命名空间
- 登录ServiceStage控制台。
- 选择“环境管理”,进入“环境管理”页面。
- 单击待操作环境名称,进入环境“概览”页面。
- 选择“计算”资源类型下的资源名称“集群”。
- 进入“命名空间”列表页面。
- 高可用环境:单击环境已绑定的CCE集群名称,选择“命名空间”页签。
- 非高可用环境:选择“命名空间”页签。
- 单击“创建命名空间”,参考下表填写参数,其中带“*”标志的参数为必填参数。
参数
说明
*命名空间
命名空间的名称。
命名空间名称必须唯一,长度为1到63个字符,可以包含英文小写字母、数字和中划线(-),以英文小写字母开头、以英文小写字母或者数字结尾。
命名空间描述
命名空间的描述信息,长度不超过200个字符。
- 单击“确定”。
绑定命名空间
仅集群默认创建的default命名空间及用户创建的命名空间支持被绑定。
- 登录ServiceStage控制台。
- 选择“环境管理”,进入“环境管理”页面。
- 单击待操作环境名称,进入环境“概览”页面。
- 选择“计算”资源类型下的资源名称“集群”。
- 进入“命名空间”列表页面。
- 高可用环境:单击环境已绑定的CCE集群名称,选择“命名空间”页签。
- 非高可用环境:选择“命名空间”页签。
- 勾选“绑定状态”为“未绑定”的命名空间。
- 单击“绑定命名空间”。
- 单击“确定”。
完成命名空间绑定后,该命名空间的“绑定状态”由“未绑定”转换为“已绑定”。
管理命名空间资源配额
默认情况下,CCE集群运行中的Pod可以无限制地使用Node节点上的CPU和内存,这意味着任意一个Pod都可以无节制地使用集群的计算资源,某个命名空间的Pod可能会耗尽集群的所有资源。
kubernetes在一个物理集群上提供了多个虚拟集群,这些虚拟集群被称为命名空间。命名空间可用于多种工作用途,满足多用户的使用需求,通过为每个命名空间配置资源额度可以有效限制资源滥用,从而保证集群的可靠性。您可以根据您的实际业务需要为命名空间配置包括CPU、内存、Pod数量等资源的额度,更多信息请参见Resource Quotas。
仅集群默认创建的default命名空间及用户创建的命名空间支持管理命名空间资源配额。
- 登录ServiceStage控制台。
- 选择“环境管理”,进入“环境管理”页面。
- 单击待操作环境名称,进入环境“概览”页面。
- 选择“计算”资源类型下的资源名称“集群”。
- 进入“命名空间”列表页面。
- 高可用环境:单击环境已绑定的CCE集群名称,选择“命名空间”页签。
- 非高可用环境:选择“命名空间”页签。
- 单击待操作的命名空间所在行“操作”列的“配额管理”。
在弹出的“配额管理”对话框,您可以查看该命名空间下的资源类型及资源配额总量、配额累计使用量。
- 单击“编辑配额”,根据您的实际业务需求,设置各资源类型的总配额。
- 如果不限制该资源类型的使用量,则输入为空。
- 如果限制该资源类型的使用量,请输入期望的整型数值,取值范围为1到9,007,199,254,740,992。
-
配额累计使用量包含集群系统默认创建的资源,如default命名空间下系统默认创建的Kubernetes服务(该服务可通过后端kubectl工具查看)等,故建议命名空间下的资源配额略大于实际期望值以去除系统默认创建资源的影响。
- 如果限制了命名空间下CPU或内存的总配额,则在创建和部署组件、升级单个组件版本配置中为容器部署方式部署且命名空间为该命名空间的组件设置资源时,必须设置组件运行可以使用的最大、最小CPU核数(Core)和内存数量(GiB)。否则,会导致操作失败。
- 如果限制了命名空间下其他资源类型的总配额,当该资源类型剩余使用量不满足需求时,会导致容器部署方式部署且命名空间为该命名空间的组件部署失败。
-
- 单击“确定”。
在“配额管理”页面 ,可以查看到重新设置了资源配额的资源类型的资源配额总量、配额累计使用量。
解绑命名空间
解绑命名空间会导致使用该命名空间所在环境以容器部署方式创建和部署组件时,无法选择使用该命名空间。
- 登录ServiceStage控制台。
- 选择“环境管理”,进入“环境管理”页面。
- 单击待操作环境名称,进入环境“概览”页面。
- 选择“计算”资源类型下的资源名称“集群”。
- 进入“命名空间”列表页面。
- 高可用环境:单击环境已绑定的CCE集群名称,选择“命名空间”页签。
- 非高可用环境:选择“命名空间”页签。
- 选择待解绑的“绑定状态”为“已绑定”的命名空间“操作”列的 。
- 单击“保存”。
完成命名空间解绑后,该命名空间的“绑定状态”由“已绑定”转换为“未绑定”。
删除命名空间
- 删除命名空间会删除该命名空间下所有的资源(如工作负载、配置项等),可能会导致运行在该命名空间下的组件无法正常升级单个组件版本配置、批量升级组件版本配置或者回滚组件版本配置。
- 集群默认创建的命名空间(例如default),不支持删除。
- 登录ServiceStage控制台。
- 选择“环境管理”,进入“环境管理”页面。
- 单击待操作环境名称,进入环境“概览”页面。
- 选择“计算”资源类型下的资源名称“集群”。
- 进入“命名空间”列表页面。
- 高可用环境:单击环境已绑定的CCE集群名称,选择“命名空间”页签。
- 非高可用环境:选择“命名空间”页签。
- 删除命名空间。
- 删除单个命名空间:在待删除的用户创建的命名空间所在行“操作”列,单击“删除”。
图1 删除单个命名空间
- 批量删除命名空间:勾选待删除的用户创建的命名空间,单击命名空间列表左上端的“删除”。
图2 批量删除命名空间
- 删除单个命名空间:在待删除的用户创建的命名空间所在行“操作”列,单击“删除”。
- 在弹出的对话框输入“DELETE”后,单击“确定”。