更新时间:2023-12-21 gmt 08:00

命名空间-凯发k8国际娱乐官网入口

命名空间(namespace)是一种在多个用户之间划分资源的方法。适用于用户中存在多个团队或项目的情况。

当前云容器实例提供“通用计算型”“gpu加速型”两种类型的资源,创建命名空间时需要选择资源类型,后续创建的负载中容器就运行在此类型的集群上。

  • 通用计算型:支持创建含cpu资源的容器实例,适用于通用计算场景。
  • gpu加速型:支持创建含gpu资源的容器实例,适用于深度学习、科学计算、视频处理等场景。
  • 目前,“华南-广州”、“华东-上海二”、“西南-贵阳一”和“华北-乌兰察布一”区域暂不支持“gpu加速型”资源。
  • 一个账号在一个区域,目前只能使用5个命名空间。
  • 通用计算型和gpu加速型支持x86镜像。

命名空间与网络的关系

从网络角度,命名空间对应一个虚拟私有云(vpc)中一个子网,如图1所示,在创建命名空间时会关联已有vpc或创建一个新的vpc,并在vpc下创建一个子网。后续在该命名空间下创建的容器及其他资源都会在对应的vpc及子网之内。

通常情况下,如果您在同一个vpc下还会使用其他服务的资源,您需要考虑您的网络规划,如子网网段划分、ip数量规划等,确保有可用的网络资源。

图1 命名空间与vpc子网的关系

哪些情况下适合使用多个命名空间

因为namespace可以实现部分的环境隔离。当你的项目和人员众多的时候可以考虑根据项目属性,例如生产、测试、开发划分不同的namespace。

创建命名空间

  1. 登录云容器实例管理控制台,左侧导航栏中选择“命名空间”。
  2. 在对应类型的命名空间下单击“创建”
  3. 填写命名空间名称。

    命名空间名称在云容器实例中需全局唯一。

  4. 设置rbac权限。

    开启rbac鉴权后,用户使用命名空间下的资源将受到rbac权限控制,详情请参见。

  5. 选择企业项目。cci中每个命名空间对应一个企业项目,一个企业项目下可以有多个命名空间。
    • 未开通企业管理的用户页面无此参数,无需进行配置。如需开通企业管理,请参见。使用iam用户的注意事项请参见。
    • 您开通了企业项目后,自动创建的网络、存储资源与命名空间在同一企业项目中。您在企业项目页面进行资源迁移时,建议一同迁移相关资源。 例如命名空间从项目1迁移至项目2,网络和存储资源也需要一同迁移,否则可能会导致该命名空间下的负载异常。
  6. 设置vpc。

    选择使用已有vpc或新建vpc,新建vpc需要填写vpc网段,建议使用网段:10.0.0.0/8~22,172.16.0.0/12~22,192.168.0.0/16~22。

    此处vpc和子网的网段不能为10.247.0.0/16,10.247.0.0/16是云容器实例预留给负载访问的网段。如果您使用此网段,后续可能会造成ip冲突,导致负载无法创建或服务不可用;如果您不需要通过负载访问,而是直接访问pod,则可以使用此网段。

    命名空间创建完成后,在“网络管理 > 容器网络”中可查看到vpc和子网信息。

  7. 设置子网网段。

    您需要关注子网的可用ip数,确保有足够数量的可用ip,如果没有可用ip,则会导致负载创建失败。

    图2 子网设置
    • 创建的namespace会在设置的子网中预热部分ip,默认个数为10个。
    • 高级设置中可以设置预热的个数。
    • 创建namespace后,由于预热了部分ip,会影响设置的subnet和vpc的删除,需要删除namespace之后才能正常删除对应的subnet和vpc。
  8. 高级设置。

    每个命名空间下都提供了一个ip池,申请ip需要一段时间,如果需要快速创建负载,减少ip的申请时间,可通过自定义资源池大小来实现。

    例如,某业务线日常的负载数为200,当达到流量高峰时,ip资源池会自动扩容,瞬间将ip资源池扩容到500(ip资源池大小),同时会在回收间隔23h(ip资源池回收间隔)之后,进行回收超过资源池大小的部分即(500-200)个。

    图3 高级设置
    • 预热ip资源池大小(个):为每个命名空间预热一个ip池,用来加速负载创建。预热ip资源池的大小不能超过500个。
    • 预热ip资源池回收间隔(h):ip资源池弹性扩容出来的空闲ip资源, 在一定时间内可进行回收。
    • 容器网络预准备:容器启动时,可能会没有网络连接。如果容器在启动时,需要立即连接网络, 可开启此处的“容器网络预准备”开关。
  9. 单击“创建”

    创建完成后,可以在命名空间详情中看到vpc、子网等信息。

删除命名空间

删除命名空间将会删除该命名空间相关的所有数据资源(工作负载、configmap、secret、ssl证书等)。

  1. 登录云容器实例管理控制台,左侧导航栏中选择“命名空间”,单击要删除的命名空间,进入命名空间详情页面。
  2. 单击右上角“删除”,并输入delete,然后单击“确认”

    如需删除vpc、subnet请前往。

使用kubectl创建命名空间

使用kubectl创建命名空间请参见。

分享:
网站地图