CN114185642B - 一种基于容器管理平台的智慧校园开发方法及*** - Google Patents

一种基于容器管理平台的智慧校园开发方法及*** Download PDF

Info

Publication number
CN114185642B
CN114185642B CN202111337789.6A CN202111337789A CN114185642B CN 114185642 B CN114185642 B CN 114185642B CN 202111337789 A CN202111337789 A CN 202111337789A CN 114185642 B CN114185642 B CN 114185642B
Authority
CN
China
Prior art keywords
information
resource
development space
monitoring
quota
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111337789.6A
Other languages
English (en)
Other versions
CN114185642A (zh
Inventor
刘欣荣
任刚
舒畅
肖炯恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Link Polytron Technologies Inc
Original Assignee
Link Polytron Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Link Polytron Technologies Inc filed Critical Link Polytron Technologies Inc
Priority to CN202111337789.6A priority Critical patent/CN114185642B/zh
Publication of CN114185642A publication Critical patent/CN114185642A/zh
Application granted granted Critical
Publication of CN114185642B publication Critical patent/CN114185642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供基于容器管理平台的智慧校园开发方法及***,该方法包括注册步骤、登录步骤、授权及准入控制步骤和监控步骤,该监控步骤中监控所有开发空间的资源使用信息作为监控信息并存储,容器管理平台可以根据监控信息为开发空间分配工作节点。本发明的方案,监控各开发空间的资源需求配额情况、资源限额情况等,从而实现开发空间在创建时就分配更合理的资源参数,还可以更加科学地为各容器调用资源,提高资源利用率。

Description

一种基于容器管理平台的智慧校园开发方法及***
技术领域
本发明涉及集群发开领域,具体涉及一种基于容器管理平台的智慧校园开发方法及***。
背景技术
在智慧校园环境下,往往为校园-团队-应用三级架构,需要具备多级管理能力,对参与数字校园建设供应商进行管理,同时供应商内部也需要对不同应用、项目进行权限划分。仅从集群或租户层面进行权限划分过于单调,针对集群内部,难以对租户内部的项目进行精细化管理
智慧校园建设过程时,集群并不是针对某一供应商进行独占,应该是多个产商共同使用。现有集群一对一授权模式无法做到团队之间资源共享,可能会造成资源的浪费;另一层面,集群之间需要采用集群联邦方式进行通讯,按照集群模式进行资源划分也会加大部署架构的复杂度和性能;资源限额层面不够,目前只能通过集群维度进行资源限额,无法在同个集群内部实现应用的资源使用限额,达到共同使用且互不干扰效果。
发明内容
为了解决智慧校园开发过程中的资源利用问题,本发明提供一种基于容器管理平台的智慧校园开发方法,所述方法包括:注册步骤,接收团队发送的注册请求,所述注册请求包含团队信息和项目信息;比对所述项目信息和预设的项目信息表,当所述项目信息比对通过后,创建用户账号并存储,所述用户账号包含项目信息;
登录步骤:响应于所述团队的登录请求,为所述用户账号创建服务账号并绑定对应的开发空间,所述服务账号和所述开发空间与所述项目信息相关联;并且为所述服务账号添加认证信息,根据所述认证信息来认证所述团队是否登录成功;
授权及准入控制步骤:基于不同的所述项目信息预设项目权限表;在确定所述团队登录成功后,为所述开发空间创建访问权限,所述访问权限根据所述项目信息从所述项目权限表中获得,并将所述开发空间和所述访问权限进行关联;
监控步骤:监控所有所述开发空间的资源使用信息作为监控信息并存储,根据所述监控信息为所述开发空间分配工作节点。
进一步而言,所述监控步骤:所述监控信息包括所述开发空间在所述监测时段内的需求资源信息和限额资源信息,根据最新的所述监控信息为每个所述开发空间设置资源规格;所述设置资源规格:在创建所述开发空间时,根据所述项目信息和平均所述需求资源信息设置所述开发空间的资源需求期望信息,根据平均所述限额资源信息设置所述开发空间的资源限额期望信息。
进一步而言,所述监控步骤:所述容器管理平台的资源调度器根据各个开发空间的初始资源配额来分配工作节点,所述初始资源配额可以包括初始需求资源信息和初始限额资源信息。
进一步而言,所述监控步骤:所述监控信息还包括所述开发空间在所述监测时段内的容器数量信息,根据所述开发空间的所述资源规格和所述容器数量信息,限定该开发空间中的各个容器的所述资源范围。
进一步而言,所述监控步骤还包括:预设优先级列表,所述优先级列表包含不同优先级的资源配额信息;所述团队根据所述容器的实际资源需求程度,设定不同的优先级获取对应的资源配额。
另一方面,本发明还提供一种基于容器管理平台的智慧校园开发***,该***包括:注册模块,接收团队发送的注册请求,所述注册请求包含团队信息和项目信息;比对所述项目信息和预设的项目信息表,当所述项目信息比对通过后,创建用户账号并存储,所述用户账号包含项目信息;
登录模块:响应于所述团队的登录请求,为所述用户账号创建服务账号并绑定对应的开发空间,所述服务账号和所述开发空间与所述项目信息相关联;并且为所述服务账号添加认证信息,根据所述认证信息来认证所述团队是否登录成功;
授权及准入控制模块:基于不同的所述项目信息预设项目权限表;在确定所述团队登录成功后,为所述开发空间创建访问权限,所述访问权限根据所述项目信息从所述项目权限表中获得,并将所述开发空间和所述访问权限进行关联;
监控模块:监控所有所述开发空间的资源使用信息作为监控信息并存储,根据所述监控信息为所述开发空间分配工作节点。
进一步而言,所述监控模块:所述监控信息包括所述开发空间在所述监测时段内的需求资源信息和限额资源信息,根据最新的所述监控信息为每个所述开发空间设置资源规格;所述设置资源规格:在创建所述开发空间时,根据所述项目信息和平均所述需求资源信息设置所述开发空间的资源需求期望信息,根据平均所述限额资源信息设置所述开发空间的资源限额期望信息。
进一步而言,所述监控模块:所述容器管理平台的资源调度器根据各个开发空间的初始资源配额来分配工作节点,所述初始资源配额可以包括初始需求资源信息和初始限额资源信息。
进一步而言,所述监控模块:所述监控信息还包括所述开发空间在所述监测时段内的容器数量信息,根据所述开发空间的所述资源规格和所述容器数量信息,限定该开发空间中的各个容器的所述资源范围。
进一步而言,所述监控模块还包括:所述容器管理平台预设有优先级列表,所述优先级列表包含不同优先级的资源配额信息;所述团队根据所述容器的实际资源需求程度,设定不同的优先级获取对应的资源配额。
本发明提供的基于容器管理平台的智慧校园开发方法及***,设置了监控步骤,监控各开发空间在实时开发过程中的资源需求配额情况、资源限额情况等,从而可以根据监控信息实现开发空间在创建时就分配更合理的资源参数,还可以更加科学地为各容器调用资源,提高资源利用率。
附图说明
图1为智慧校园开发方法实施例在开发过程中的关系示意图。
图2为智慧校园开发方法实施例的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
智慧校园建设过程中,会涉及多个团队多个项目同时开发的情况。如图1所示,团队和项目之间为多对多的关系,项目和权限之间为一对一的关系。这里的权限包括对应数据或者数据库的操作权限,例如查询、修改、删除、查看等。
就一个项目而言,该项目所要涉及的数据是相对确定的。例如统一身份认证项目,需要对于该项目开放全校学生、教师等所有需要进出学校等人员的信息数据的相应权限,如果采用人脸识别认证则还需要采集这些人员的人脸信息,该项目的开发过程中需要有这些数据的操作权限,而不管这个项目的具体开发团队构成以及变化情况。
一个基于容器管理平台的智慧校园开发方法实施例中,参考图1所示,容器管理平台为kubernetes平台,管理方法包括注册步骤S01、登录步骤S02、授权及准入控制步骤S03和监控步骤S04,团队是指智慧校园的开发团队。
其中,注册步骤中,容器管理平台接收团队发送的注册请求,注册请求包含团队信息和项目信息,团队信息为用户名和密码。项目信息为该团队负责项目信息,项目信息可以为项目名称或者项目编号等识别信息。
apiserver接收到注册请求后,首先根据项目信息和数据库中已存项目信息进行比对,可以预设一个项目信息表,项目信息表由管理员通过后台建立并维护并不对开发团队开放,该数据库可以为etcd或者其他数据库。判断团队提交的项目信息是否正确且和数据库中的项目信息相匹配。如果项目信息比对失败,可能项目信息输入有误或者还未在数据库中建立该项目信息,则返回一个提示信息,便于团队更正或者联系管理员。
如果项目信息比对通过,容器管理平台创建用户账号并存储,用户账号包含项目信息,可以建立用户账号信息表用于存储用户账号,用户账号至少关联一个项目信息。如图2所示,智慧校园建设过程中,会涉及多个团队,每个团队可能会涉及多个项目,同时每个项目可能会有多个团队共同完成;当是,对于确定的项目而言,每个项目开发过程中需要的资源大致是确定的,比如CPU、内存、存储以及数据资源等,由此可以确定每个项目的权限。即使资源需求有所变化,还可以由管理员通过后台修改权限,而并不必对团队开放。
开发团队利用用户账号登录kubernetes平台,如果用户账号正确则实例化该用户账号,为其创建服务账号和对应的名字空间即namespace,该开发团队在该名字空间内进行智慧校园的项目开发工作,这里的名字空间就是该团队的开发空间。不同的项目在不同的名字空间内进行开发,项目相互隔离,保证同步开发无不干扰。当一个团队开发多个项目时,即一个用户账号关联多个项目信息时,需要开发团对在登录时选择本次登录的项目信息。另一种实施例中,所有团队在登录时,都需要提供用户账号和项目信息。
服务账号名称、名字空间名称以及项目信息的名称为同一个名称,即为项目信息表中的一个值。另外,对于服务账号添加认证信息如token令牌,便于开发团队的多次登录,提高开发效率。如果并未成功添加认证信息,表明该服务账号并未建设成功,提醒团队再次登录。
然后,kubernetes平台会基于预设项目权限表,对上述的名字空间进行授权及准入控制。本实施例中,采用RBAC(Role-Based Access Control)鉴权策略完成授权及准入控制,其中的Role为项目信息即以项目信息为角色。每个角色的项目权限都已经存储在预设的项目权限表中,在确定团队登录成功之后,根据登录请求信息中的项目信息从项目权限表中获取访问权限,并创建名字空间作用域。在名字空间作用域中指定该名字空间,并且将获取的访问权限作用该名字空间作用域的限定规则,再将名字空间作用域和该名字空间进行绑定关联。
对于关联有多个开发开发团队的项目,在授权及准入控制步骤中,还需要将名字空间作用域和其中一个用户账号进行绑定。在开发过程中,如果另一个共同开发团队也同时登录,则给出提示消息表明该项目正在被其他团队开发,拒绝其登录或者直接登录失败,防止冲突发生。如果项目和团队之间的关系有所变化,则需要管理员在后台进行关联调整。
在各个项目的开发过程中,对于开发情况的资源使用情况进行监控。一种实施例中,监控所有开发空间的资源使用信息作为监控信息并存储,将监控信息反馈至kubernetes平台的主节点并将其存储在etcd库中。监控信息为各个开发空间的资源使用信息,可以使用项目信息调取到对应的资源使用信息。
一种实施例中,监控信息为空表,各个开发空间在创建时由kubernetes平台的资源调度器给与默认配额。另一种实施例中,监控信息保存有监控数据,kubernetes平台根据监控信息为各个开发空间分配对应的工作节点。该方案,容器管理平台可以根据各个项目的资源使用情况即实际状态(status),并结合各个工作节点的资源信息,更加科学的分配或者调度适合的工作节点,提高资源利用率。
具体而言,一种实施例中,监控信息包括开发空间在监测时段内的需求资源信息和限额资源信息,这里的容器管理平台为kubernetes平台,开发空间为名字空间,需求资源信息为名字空间的需求总量值,限额资源信息为名字空间的限额总量值。可以设置一个固定时间作为监测时段,更新监控信息;也可以当开发空间被删除后,更新该监控信息,此时整个开发空间从创建到被删除都是监测时段。这里的资源可以为CPU、内存、存储卷等。监控信息可以以键值对方式存储在平台中,其中的键包括项目信息。
再根据最新的监控信息为每个开发空间设置资源规格,包括重建、新建等情况下构建新的开发空间时,根据登录请求中的项目信息为其设置资源规格即设置spec的值。一种实施例中,如图2所示,容器管理平台为kubernetes平台,在创建开发空间时,根据项目信息和平均需求资源信息设置开发空间的资源需求期望信息即requests值,根据平均限额资源信息设置开发空间的资源限额期望信息即limits值。该方案,在各个项目的开发空间创建时就设置了较合理的资源规格,容器管理平台的资源调度器可以结合各个开发空间的资源规格和物理机的资源情况,更加合理的调度资源为各个开发空间分配合适的工作节点。
其中,平均需求资源信息和平均限额资源信息可以根据监测时段内的需求资源信息和限额资源信息计算得到,也可以在该计算结果上做个偏差值后作为上述平均值,还可以计算资源信息的加权平均值。另外一方面而言,可以调整监控资源信息的监控频率,还可以排除长期无资源使用的时间段后再计算平均值。
更具体而言,在监控步骤中,容器管理平台的资源调度器根据各个开发空间的初始资源配额来分配工作节点,初始资源配额为CPU、内存、存储卷等的初始配额。初始资源配额可以包括初始需求资源信息和初始限额资源信息,资源调取器根据这些信息调度都满足要求的工作节点。
另一种实施例中,在监控步骤中,监控信息还包括开发空间在监测时段内的容器数量信息,根据开发空间的资源规格和容器数量信息,限定该开发空间中的各个容器的资源范围。该方案,在限定了开发空间的资源配额信息以及允许生成容器的数量,从而可以计算得到平摊到各个容器的最小资源配额信息,以及在除去预留资源之外后开发空间内只有一个容器时为该容器的最大资源配额,便于对容器级别的资源调度。具体而言,容器管理平台为kuberneters平台,计算得到各个容器的资源配额之后,利用LimitRange控制器设定该namespace名字空间中各个容器的资源配额,比如设定容器的CPU或者内存的最大值和最小值,用以控制各个容器资源使用范围,排除不符合资源配额的容器。
更进一步而言,更优实施例中,在监控步骤中,可以实现预设优先级列表,在优先级列表中包含不同优先级的资源配额信息,优先级列表可以由管理员在后台预先设定,并不对开发团队开放。具体而言,利用kuberneters平台中资源定额(ResourceQuota)和优先级作用域(PriorityClass),可以先预设包含高、中、低的三种优先级级别的列表,可以将其以yml文件保存在数据库中;针对不同优先级级别设定固定资源配额即资源配额信息,比如CPU、内存的资源配额值,也可以设定名字空间的容器数量值。
基数以上优先级的设定,团队在开发过程中可以根据容器的实际资源需求程度,比如需要在某个容器中运行的进程较占资源则可以设定为高优先级。在设定不同的优先级之后,就会调用优先级列表中对应优先级级别的资源配额信息,如果容器的资源配额该优先级级别的资源配额,则该容器会被创建。该方案,可以杜绝实际资源需求较小的容器占用额外的资源,并且开发团队可以根据实际资源需求调用对应符合的优先级,从而提高资源利用率。
另一方面,本发明的一种实施例为基于容器管理平台的智慧校园开发***,该***包括注册模块、登录模块、授权及准入控制模块以及监控模块。
其中,注册模块用于,接收团队发送的注册请求,所述注册请求包含团队信息和项目信息;比对所述项目信息和预设的项目信息表,当所述项目信息比对通过后,创建用户账号并存储,所述用户账号包含项目信息。
其中,登录模块用于,响应于所述团队的登录请求,为所述用户账号创建服务账号并绑定对应的开发空间,所述服务账号和所述开发空间与所述项目信息相关联;并且为所述服务账号添加认证信息,根据所述认证信息来认证所述团队是否登录成功。
其中,授权及准入控制模块用于,基于不同的所述项目信息预设项目权限表;在确定所述团队登录成功后,为所述开发空间创建访问权限,所述访问权限根据所述项目信息从所述项目权限表中获得,并将所述开发空间和所述访问权限进行关联。
其中,监控模块用于,监控所有所述开发空间的资源使用信息作为监控信息并存储,根据所述监控信息为所述开发空间分配工作节点。
该***各模块的其他实施例可以参考前述的方法实施例,注册模块对应于注册步骤,登录模块对应于登录步骤,授权及准入控制模块对应于授权及准入控制步骤,以及监控模块对应于监控步骤,此处不再赘述。
以上所举实施例为本申请的较佳实施方式,仅用来方便说明本申请,并非对本申请作任何形式上的限额,任何所属技术领域中具有通常知识者,若在不脱离本申请所提技术特征的范围内,利用本申请所揭示技术内容所作出局部更动或修饰的等效实施例,并且未脱离本申请的技术特征内容,均仍属于本申请技术特征的范围内。

Claims (6)

1.一种基于容器管理平台的智慧校园开发方法,其特征在于,所述容器管理平台为kubernetes平台,所述方法包括:
注册步骤:
接收团队发送的注册请求,所述注册请求包含团队信息和项目信息;
比对所述项目信息和预设的项目信息表,当所述项目信息比对通过后,创建用户账号并存储,所述用户账号包含项目信息;
登录步骤:
响应于所述团队的登录请求,为所述用户账号创建服务账号并绑定对应的开发空间,所述服务账号和所述开发空间与所述项目信息相关联;
并且为所述服务账号添加认证信息,根据所述认证信息来认证所述团队是否登录成功;
授权及准入控制步骤:
基于不同的所述项目信息预设项目权限表;
在确定所述团队登录成功后,为所述开发空间创建访问权限,所述访问权限根据所述项目信息从所述项目权限表中获得,并将所述开发空间和所述访问权限进行关联;
监控步骤:
监控所有所述开发空间的资源使用信息作为监控信息,并将所述监控信息反馈至所述kubernetes平台的主节点并将其存储在etcd库中,根据所述监控信息为所述开发空间分配工作节点;
所述监控信息包括所述开发空间在监测时段内的需求资源信息和限额资源信息,根据最新的所述监控信息为每个所述开发空间设置资源规格;所述开发空间为名字空间,所述需求资源信息为所述名字空间的需求总量值,所述限额资源信息为所述名字空间的限额总量值;
当所述开发空间被删除后更新该监控信息,所述监控信息以键值对方式存储在所述kubernetes平台中,其中的键包括所述项目信息;重建或新建情况下构建新的开发空间时,根据最新的所述监控信息为每个开发空间设置资源规格,根据登录请求中的所述项目信息为其设置资源规格即设置spec的值;在创建开发空间时,根据所述项目信息和平均需求资源信息设置开发空间的资源需求期望信息即requests值,根据平均限额资源信息设置开发空间的资源限额期望信息即limits值;
所述监控步骤还包括:预设优先级列表,所述优先级列表包含不同优先级的资源配额信息;所述优先级列表由管理员在后台预先设定,用kuberneters平台中资源定额(ResourceQuota)和优先级作用域(PriorityClass),先预设包含高、中、低的三种优先级级别的列表,将其以yml文件保存在数据库中;针对不同优先级级别设定固定资源配额即资源配额信息,包括CPU、内存的资源配额值,以及名字空间的容器数量值;
所述团队根据所述容器的实际资源需求程度,设定不同的优先级获取对应的资源配额;在设定不同的优先级之后,就会调用优先级列表中对应优先级级别的资源配额信息;
所述设置资源规格:在创建所述开发空间时,根据所述项目信息和平均所述需求资源信息设置所述开发空间的资源需求期望信息,根据平均所述限额资源信息设置所述开发空间的资源限额期望信息。
2.根据权利要求1所述的基于容器管理平台的智慧校园开发方法,其特征在于,
所述监控步骤:所述容器管理平台的资源调度器根据各个开发空间的初始资源配额来分配工作节点,所述初始资源配额包括初始需求资源信息和初始限额资源信息。
3.根据权利要求1所述的基于容器管理平台的智慧校园开发方法,其特征在于,
所述监控步骤:所述监控信息还包括所述开发空间在所述监测时段内的容器数量信息,根据所述开发空间的所述资源规格和所述容器数量信息,限定该开发空间中的各个容器的资源范围。
4.一种基于容器管理平台的智慧校园开发***,其特征在于,所述容器管理平台为kubernetes平台,所述***包括:
注册模块:
接收团队发送的注册请求,所述注册请求包含团队信息和项目信息;
比对所述项目信息和预设的项目信息表,当所述项目信息比对通过后,创建用户账号并存储,所述用户账号包含项目信息;
登录模块:
响应于所述团队的登录请求,为所述用户账号创建服务账号并绑定对应的开发空间,所述服务账号和所述开发空间与所述项目信息相关联;
并且为所述服务账号添加认证信息,根据所述认证信息来认证所述团队是否登录成功;
授权及准入控制模块:
基于不同的所述项目信息预设项目权限表;
在确定所述团队登录成功后,为所述开发空间创建访问权限,所述访问权限根据所述项目信息从所述项目权限表中获得,并将所述开发空间和所述访问权限进行关联;
监控模块:
监控所有所述开发空间的资源使用信息作为监控信息,并将所述监控信息反馈至所述kubernetes平台的主节点并将其存储在etcd库中,根据所述监控信息为所述开发空间分配工作节点;
所述监控信息包括所述开发空间在监测时段内的需求资源信息和限额资源信息,根据最新的所述监控信息为每个所述开发空间设置资源规格;
所述开发空间为名字空间,所述需求资源信息为所述名字空间的需求总量值,所述限额资源信息为所述名字空间的限额总量值;
当所述开发空间被删除后更新该监控信息,所述监控信息以键值对方式存储在所述kubernetes平台中,其中的键包括所述项目信息;重建或新建情况下构建新的开发空间时,根据最新的所述监控信息为每个开发空间设置资源规格,根据登录请求中的所述项目信息为其设置资源规格即设置spec的值;在创建开发空间时,根据所述项目信息和平均需求资源信息设置开发空间的资源需求期望信息即requests值,根据平均限额资源信息设置开发空间的资源限额期望信息即limits值;
所述监控模块还包括:预设优先级列表,所述优先级列表包含不同优先级的资源配额信息;所述优先级列表由管理员在后台预先设定,用kuberneters平台中资源定额(ResourceQuota)和优先级作用域(PriorityClass),先预设包含高、中、低的三种优先级级别的列表,将其以yml文件保存在数据库中;针对不同优先级级别设定固定资源配额即资源配额信息,包括CPU、内存的资源配额值,以及名字空间的容器数量值;
所述团队根据所述容器的实际资源需求程度,设定不同的优先级获取对应的资源配额;在设定不同的优先级之后,就会调用优先级列表中对应优先级级别的资源配额信息;
所述设置资源规格:在创建所述开发空间时,根据所述项目信息和平均所述需求资源信息设置所述开发空间的资源需求期望信息,根据平均所述限额资源信息设置所述开发空间的资源限额期望信息。
5.根据权利要求4所述的基于容器管理平台的智慧校园开发***,其特征在于,
所述监控模块:所述容器管理平台的资源调度器根据各个开发空间的初始资源配额来分配工作节点,所述初始资源配额包括初始需求资源信息和初始限额资源信息。
6.根据权利要求4所述的基于容器管理平台的智慧校园开发***,其特征在于,
所述监控模块:所述监控信息还包括所述开发空间在所述监测时段内的容器数量信息,根据所述开发空间的所述资源规格和所述容器数量信息,限定该开发空间中的各个容器的资源范围。
CN202111337789.6A 2021-11-12 2021-11-12 一种基于容器管理平台的智慧校园开发方法及*** Active CN114185642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111337789.6A CN114185642B (zh) 2021-11-12 2021-11-12 一种基于容器管理平台的智慧校园开发方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111337789.6A CN114185642B (zh) 2021-11-12 2021-11-12 一种基于容器管理平台的智慧校园开发方法及***

Publications (2)

Publication Number Publication Date
CN114185642A CN114185642A (zh) 2022-03-15
CN114185642B true CN114185642B (zh) 2023-11-17

Family

ID=80540888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111337789.6A Active CN114185642B (zh) 2021-11-12 2021-11-12 一种基于容器管理平台的智慧校园开发方法及***

Country Status (1)

Country Link
CN (1) CN114185642B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189568A (zh) * 2018-09-04 2019-01-11 山东浪潮云投信息科技有限公司 一种集群资源管理方法及装置
CN109474632A (zh) * 2018-12-28 2019-03-15 优刻得科技股份有限公司 对用户进行认证和权限管理的方法、装置、***和介质
CN110519361A (zh) * 2019-08-22 2019-11-29 北京宝兰德软件股份有限公司 基于kubernetes的容器云平台多租户构建方法及装置
CN110532059A (zh) * 2019-08-09 2019-12-03 济南浪潮数据技术有限公司 K8s集群管理软件的配额管理方法及装置
CN110990159A (zh) * 2019-12-25 2020-04-10 浙江大学 一种基于历史数据分析的容器云平台资源配额预测方法
CN111327655A (zh) * 2018-12-14 2020-06-23 中移(杭州)信息技术有限公司 多租户容器资源配额预测方法、装置及电子设备
CN111464355A (zh) * 2020-03-31 2020-07-28 北京金山云网络技术有限公司 Kubernetes容器集群的伸缩容控制方法、装置和网络设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831450B (zh) * 2020-07-20 2023-07-28 北京百度网讯科技有限公司 用于分配服务器资源的方法、装置、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189568A (zh) * 2018-09-04 2019-01-11 山东浪潮云投信息科技有限公司 一种集群资源管理方法及装置
CN111327655A (zh) * 2018-12-14 2020-06-23 中移(杭州)信息技术有限公司 多租户容器资源配额预测方法、装置及电子设备
CN109474632A (zh) * 2018-12-28 2019-03-15 优刻得科技股份有限公司 对用户进行认证和权限管理的方法、装置、***和介质
CN110532059A (zh) * 2019-08-09 2019-12-03 济南浪潮数据技术有限公司 K8s集群管理软件的配额管理方法及装置
CN110519361A (zh) * 2019-08-22 2019-11-29 北京宝兰德软件股份有限公司 基于kubernetes的容器云平台多租户构建方法及装置
CN110990159A (zh) * 2019-12-25 2020-04-10 浙江大学 一种基于历史数据分析的容器云平台资源配额预测方法
CN111464355A (zh) * 2020-03-31 2020-07-28 北京金山云网络技术有限公司 Kubernetes容器集群的伸缩容控制方法、装置和网络设备

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
A New Approach to Calculate Resource Limits with Fairness in Kubernetes;Hamed Hamzeh等;《2019 First International Conference on Digital Data Processing(DDP)》;51-58 *
Kubernetes容器云平台多租户方案研究与设计;黄丹池等;《电信科学》;第36卷(第09期);第2-4节 *
企业通用容器云平台关键技术;刘汪根等;《信息技术与标准化》(第05期);90-94 *
吉吉赛凡.《Kubernetes微服务实战》.《Kubernetes微服务实战》.机械工业出版社,2020,(第1版),第289-291页. *
基于Kubernetes调度器的服务质量优化调度算法研究;徐正伦等;《软件导刊》;第17卷(第11期);73-76 *
邱宝等.《公有云容器化指南腾讯云TKE实战与应用》.机械工程出版社,2021,(第1版),84-85. *

Also Published As

Publication number Publication date
CN114185642A (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
US11451398B2 (en) Management of interoperating machine learning algorithms
CN108259422B (zh) 一种多租户访问控制方法和装置
KR102375129B1 (ko) 멀티테넌트 어플리케이션 서버 환경에서 작업 관리자를 제공하는 시스템 및 방법
EP3547634B1 (en) Method and apparatus for determining access permission, and terminal
US20210142206A1 (en) Adaptation of machine learning algorithms
CN112154468A (zh) 基于安全共识的自监控区块链背书
US20210142221A1 (en) Autonomous logic modules
US8843648B2 (en) External access and partner delegation
JPH1083310A (ja) プログラム・コードの配布方法及びシステム
CN112835977A (zh) 一种基于区块链的数据库管理方法及***
CN110213290A (zh) 数据获取方法、api网关以及存储介质
CN110225039A (zh) 权限模型获取、鉴权方法、网关、服务器以及存储介质
CN112019543A (zh) 一种基于brac模型的多租户权限***
CN113407626B (zh) 一种基于区块链的规划管控方法、存储介质及终端设备
US12014210B2 (en) Dynamic resource allocation in a distributed system
CN117499124A (zh) 一种访问控制方法及装置
CN114185642B (zh) 一种基于容器管理平台的智慧校园开发方法及***
CN112181599A (zh) 模型训练方法、装置及存储介质
CN107766001B (zh) 一种基于用户群组的存储配额方法
CN114090969B (zh) 多级多租户交叉授权管理方法
US20230030161A1 (en) Query-response system for identifying application priority
CN114331185A (zh) 基于科目表的科目处理方法、装置及其设备
US8701116B2 (en) Method for managing the shared resources of a computer system, a module for supervising the implementation of same and a computer system having one such module
CN116805947B (zh) 区块链数据处理方法、装置、设备及计算机可读存储介质
CN115525889B (zh) 一种安全权限控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant