CN113835844A - 一种容器集群的管理方法、装置及云计算平台 - Google Patents

一种容器集群的管理方法、装置及云计算平台 Download PDF

Info

Publication number
CN113835844A
CN113835844A CN202111152714.0A CN202111152714A CN113835844A CN 113835844 A CN113835844 A CN 113835844A CN 202111152714 A CN202111152714 A CN 202111152714A CN 113835844 A CN113835844 A CN 113835844A
Authority
CN
China
Prior art keywords
cluster
target
container
candidate
controller
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.)
Granted
Application number
CN202111152714.0A
Other languages
English (en)
Other versions
CN113835844B (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies Co Ltd
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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202111152714.0A priority Critical patent/CN113835844B/zh
Publication of CN113835844A publication Critical patent/CN113835844A/zh
Application granted granted Critical
Publication of CN113835844B publication Critical patent/CN113835844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种容器集群的管理方法、装置及云计算平台,该方法包括:接收用户设备发送的操作请求,所述操作请求包括集群标识;从所有容器集群中选取所述集群标识对应的目标容器集群;确定目标容器集群对应的目标集群控制器,将所述操作请求发送给目标集群控制器,以使目标集群控制器将所述操作请求发送给目标容器集群对应的目标集群代理,由目标集群代理基于所述操作请求对目标容器集群进行操作;其中,目标集群控制器与所述目标集群代理之间建立有目标通道,且目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。通过本申请的技术方案,可以对多个容器集群进行统一管理,能够屏蔽不同容器集群之间的差异,用户使用体验较好。

Description

一种容器集群的管理方法、装置及云计算平台
技术领域
本申请涉及通信领域,尤其涉及一种容器集群的管理方法、装置及云计算平台。
背景技术
随着云计算技术的快速发展,容器技术逐步成为业界的发展热点,各主流云计算平台(也可以称为云容器平台)均提供容器服务。Kubernetes是一个容器集群管理***,是用于自动部署、扩展和管理容器化应用程序的开源***,能够对集群内容器的生命周期进行管理,结合自身的健康检查及错误恢复机制,实现集群内部应用的高可用性,可以实现容器集群的自动化部署、自动扩缩容、运维监控等功能,因此,通常会在云计算平台部署Kubernetes容器集群。
随着云计算技术的快速发展,云计算平台需要支持多种业务,且不同业务需要由不同Kubernetes容器集群实现,即云计算平台需要部署多个Kubernetes容器集群。在实际应用中,这些Kubernetes容器集群可能由不同厂家开发,即不同Kubernetes容器集群的管理方式会存在差异。综上所述,需要由云计算平台能够对不同Kubernetes容器集群进行统一管理,但是,由于不同Kubernetes容器集群的管理方式存在差异,那么,云计算平台应该如何对不同Kubernetes容器集群进行统一管理,目前并没有合理的管理方式,用户使用体验较差。
发明内容
本申请提供一种容器集群的管理方法,云计算平台包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括与所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;所述方法应用于所述管理设备,所述方法包括:
接收用户设备发送的操作请求,所述操作请求包括集群标识;
从所有容器集群中选取出与所述集群标识对应的目标容器集群;
从所述管理设备部署的所有集群控制器中确定所述目标容器集群对应的目标集群控制器,并将所述操作请求发送给所述目标集群控制器,以使所述目标集群控制器将所述操作请求发送给所述目标容器集群对应的目标集群代理,由所述目标集群代理基于所述操作请求对所述目标容器集群进行操作;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
本申请提供一种容器集群的管理装置,云计算平台包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括与所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;所述装置应用于所述管理设备,所述装置包括:
接收模块,用于接收用户设备发送的操作请求,该操作请求包括集群标识;
确定模块,用于从所有容器集群中选取出与所述集群标识对应的目标容器集群;从所有集群控制器中确定所述目标容器集群对应的目标集群控制器;
发送模块,用于将所述操作请求发送给所述目标集群控制器,以使所述目标集群控制器将所述操作请求发送给所述目标容器集群对应的目标集群代理,由所述目标集群代理基于所述操作请求对所述目标容器集群进行操作;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
本申请提供一种云计算平台,包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;
所述管理设备,用于接收用户设备发送的操作请求,所述操作请求包括集群标识;从所有容器集群中选取出与所述集群标识对应的目标容器集群;从所述管理设备部署的所有集群控制器中确定所述目标容器集群对应的目标集群控制器,并将所述操作请求发送给所述目标集群控制器;
所述目标集群控制器,用于在接收到所述操作请求之后,将所述操作请求发送给所述目标容器集群对应的目标集群代理;
所述目标集群代理,用于在接收到所述操作请求之后,基于所述操作请求对所述目标容器集群进行操作,得到所述操作请求对应的操作结果,并将所述操作请求对应的操作结果发送给所述目标集群控制器;
所述目标集群控制器,用于接收所述操作请求对应的操作结果,并将所述操作请求对应的操作结果发送给所述管理设备;
所述管理设备,用于将所述操作请求对应的操作结果发送给所述用户设备;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
由以上技术方案可见,本申请实施例中,针对每个容器集群,云计算平台包括与该容器集群对应的集群控制器和集群代理,集群控制器部署在管理设备,集群代理部署在该容器集群,且集群控制器与集群代理之间具有通道,集群控制器与集群代理之间通过该通道进行通信。在此基础上,当需要对某个容器集群(记为目标容器集群)进行操作时,确定目标容器集群对应的目标集群控制器,由于目标集群控制器位于管理设备内,因此,管理设备可以将操作请求发送给目标集群控制器。由于目标集群控制器与目标容器集群对应的目标集群代理之间具有通道,因此,目标集群控制器可以通过该通道将操作请求发送给目标集群代理,使得目标集群代理基于该操作请求对目标容器集群进行操作。显然,上述方式可以对多个容器集群进行统一管理,能够屏蔽不同容器集群之间的差异,即屏蔽不同容器集群的API(Application Programming Interface,应用程序接口)差异,实现无差别的管理各厂家的容器集群,大幅度提升多个容器集群的操作的统一性,能够有效的管理各容器集群,用户使用体验较好。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的容器集群的管理方法的流程示意图;
图2A和图2B是本申请一种实施方式中的云计算平台的结构示意图;
图3是本申请一种实施方式中的云计算平台的结构示意图;
图4是本申请一种实施方式中的容器集群的管理方法的流程示意图;
图5是本申请一种实施方式中的容器集群的管理方法的流程示意图;
图6是本申请一种实施方式中的容器集群的管理装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种容器集群的管理方法,该方法可以应用于云计算平台(也可以称为云容器平台、云管理平台、云管理***等),该云计算平台可以包括管理设备和多个容器集群。针对每个容器集群,云计算平台可以包括与该容器集群对应的集群控制器和集群代理,该集群控制器可以部署在管理设备,且该集群代理可以部署在该容器集群。针对云计算平台中的每个容器集群,该容器集群可以包括但不限于Kubernetes容器集群。参见图1所示,为容器集群的管理方法的流程示意图,该方法可以应用于管理设备,该方法可以包括:
步骤101、接收用户设备发送的操作请求,该操作请求包括集群标识。
步骤102、从所有容器集群中选取出与该集群标识对应的目标容器集群。
在一种可能的实施方式中,可以基于该操作请求确定用户设备的认证信息,并基于该认证信息对用户设备进行身份认证。若用户设备的认证成功,则从所有容器集群中选取出与该集群标识对应的目标容器集群(即执行步骤102)。若用户设备的认证失败,则丢弃该操作请求,并向用户设备返回认证失败消息。
在一种可能的实施方式中,可以基于该操作请求确定用户设备的操作类型和身份信息,并通过该身份信息查询已配置的权限表,得到与该身份信息对应的权限数据,该权限数据可以包括允许用户设备执行的操作类型。若该权限数据包括该操作类型(即基于该操作请求确定的操作类型),则允许用户设备对容器集群进行操作,从所有容器集群中选取出与该集群标识对应的目标容器集群(即执行步骤102)。若该权限数据不包括该操作类型,则禁止用户设备对容器集群进行操作,丢弃该操作请求,并向用户设备返回权限错误消息。
在一种可能的实施方式中,可以基于该操作请求确定用户设备的认证信息,并基于该认证信息对用户设备进行身份认证。若用户设备的认证失败,则丢弃该操作请求,并向用户设备返回认证失败消息。若用户设备的认证成功,则基于该操作请求确定用户设备的操作类型和身份信息,并通过该身份信息查询已配置的权限表,得到与该身份信息对应的权限数据,该权限数据可以包括允许用户设备执行的操作类型。若该权限数据包括该操作类型,则允许用户设备对容器集群进行操作,从所有容器集群中选取出与该集群标识对应的目标容器集群(即执行步骤102)。若该权限数据不包括该操作类型,则禁止用户设备对容器集群进行操作,丢弃该操作请求,并向用户设备返回权限错误消息。
步骤103、从管理设备部署的所有集群控制器中确定目标容器集群对应的目标集群控制器(将目标容器集群对应的集群控制器记为目标集群控制器)。
步骤104、将该操作请求发送给目标集群控制器,以使目标集群控制器将该操作请求发送给目标容器集群对应的目标集群代理(为了区分方便,可以将目标容器集群对应的集群代理记为目标集群代理),由目标集群代理基于该操作请求对目标容器集群进行操作,对此操作过程本实施例中不做限制。
在一种可能的实施方式中,目标集群控制器与目标集群代理之间建立有目标通道,且目标集群控制器与目标集群代理之间通过该目标通道进行通信,基于此,目标集群控制器可以通过该目标通道将操作请求发送给目标集群代理。
在一种可能的实施方式中,目标集群代理对目标容器集群进行操作后,可以得到操作请求对应的操作结果,并通过该目标通道将操作请求对应的操作结果发送给目标集群控制器。在此基础上,管理设备可以通过目标集群控制器获取操作请求对应的操作结果,并将操作请求对应的操作结果发送给用户设备。
在一种可能的实施方式中,管理设备还可以确定待资源管理的候选容器集群,并从所有集群控制器中确定该候选容器集群对应的候选集群控制器,并将资源检测请求发送给候选集群控制器,以使候选集群控制器将该资源检测请求发送给候选容器集群对应的候选集群代理,由候选集群代理基于该资源检测请求收集候选容器集群的资源信息,并将该资源信息发送给候选集群控制器。
在此基础上,管理设备可以通过候选集群控制器获取候选容器集群的资源信息,并基于该资源信息对候选容器集群进行资源管理。
示例性的,候选集群控制器与候选集群代理之间建立有目标通道,且候选集群控制器与候选集群代理之间通过该目标通道进行通信,基于此,候选集群控制器可以通过该目标通道将资源检测请求发送给候选集群代理,候选集群代理可以通过该目标通道将候选容器集群的资源信息发送给候选集群控制器。
在一种可能的实施方式中,基于该资源信息对候选容器集群进行资源管理,可以包括但不限于:将资源管理请求发送给候选集群控制器,以使候选集群控制器将该资源管理请求发送给候选容器集群对应的候选集群代理,由候选集群代理基于该资源管理请求对候选容器集群进行资源管理;其中,资源管理可以包括但不限于:资源扩容、资源缩容、资源创建或资源删除。
示例性的,上述执行顺序只是为了方便描述给出的示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
由以上技术方案可见,本申请实施例中,当需要对某个容器集群(记为目标容器集群)进行操作时,确定目标容器集群对应的目标集群控制器,由于目标集群控制器位于管理设备内,因此,管理设备可以将操作请求发送给目标集群控制器。由于目标集群控制器与目标容器集群对应的目标集群代理之间具有通道,因此,目标集群控制器可以通过该通道将操作请求发送给目标集群代理,使得目标集群代理基于该操作请求对目标容器集群进行操作。上述方式可以对多个容器集群进行统一管理,能够屏蔽不同容器集群之间的差异,即屏蔽不同容器集群的API差异,实现无差别的管理各厂家的容器集群,大幅度提升多个容器集群的操作的统一性,能够有效的管理各容器集群,用户使用体验较好。
以下结合具体应用场景,对本申请实施例的技术方案进行说明。
随着云计算技术的快速发展,云计算平台可能需要支持多种业务,且不同业务可以由不同的容器集群(如Kubernetes容器集群)实现,即云计算平台可以部署多个容器集群。参见图2A所示,为云计算平台的结构示意图,该云计算平台可以包括管理设备和多个容器集群,该管理设备用于对多个容器集群进行管理。参见图2A所示,是以3个容器集群(如容器集群1、容器集群2和容器集群3)为例,在实际应用中,容器集群的数量可以更多或者更少。
在实际应用中,这些容器集群可能由不同厂家开发,如容器集群1由厂家1开发,容器集群2由厂家2开发,容器集群3由厂家3开发,既然不同容器集群由不同厂家开发,则不同容器集群的管理方式也会存在差异,不同容器集群提供的接口存在差异,导致无法采用统一管理方式对所有容器集群进行管理。
在一种可能的实施方式中,可以根据容器集群提供的接口进行定制的开发适配。参见图2B所示,需要开发与容器集群1匹配的适配层1,管理设备通过适配层1调用容器集群1提供的接口。比如说,管理设备可以将消息发送给适配层1,适配层1按照容器集群1提供的接口对消息进行转换,得到容器集群1支持的消息,在将该消息发送给容器集群1后,容器集群1能够正确识别该消息,并基于该消息进行处理。同理,需要开发与容器集群2匹配的适配层2,管理设备通过适配层2调用容器集群2提供的接口。需要开发与容器集群3匹配的适配层3,管理设备通过适配层3调用容器集群3提供的接口。
但是,在上述方式中,适配层的开发比较复杂,需要针对每个容器集群进行定制开发,需要获知容器集群的业务逻辑,对于开发人员的要求比较高。上述方式的可扩展性比较弱,如果需要在云计算平台添加新容器集群,则需要为新容器集群开发新的适配层,使得新容器集群的开发周期变得比较长。
针对上述问题,本申请实施例提出一种容器集群的管理方法,可以对多个容器集群进行统一管理,能够屏蔽不同容器集群之间的差异,即屏蔽不同容器集群的API差异,可扩展性强,实现无差别的管理各厂家的容器集群,大幅度提升多个容器集群的操作统一性,有效管理各容器集群,用户使用体验较好。
参见图3所示,为云计算平台的结构示意图,该云计算平台可以包括管理设备和多个容器集群,该管理设备可以为MCP(Multi Cloud Platform,多云管理平台),在图3中,是以3个容器集群(如容器集群1、容器集群2和容器集群3)为例,针对每个容器集群来说,该容器集群可以包括但不限于Kubernetes容器集群。其中,Kubernetes容器集群可以包括Master控制节点和工作节点(即负载节点)等,对此Kubernetes容器集群的结构、功能和工作原理均不做限制。
针对每个容器集群来说,云计算平台可以包括与该容器集群对应的集群控制器(Cluster Controller)和集群代理(Cluster Agent),集群控制器可以部署在管理设备,且集群代理可以部署在该容器集群。比如说,云计算平台包括与容器集群1对应的集群控制器1和集群代理1,与容器集群2对应的集群控制器2和集群代理2,与容器集群3对应的集群控制器3和集群代理3。在此基础上,集群控制器1、集群控制器2和集群控制器3均部署在管理设备,集群代理1部署在容器集群1,集群代理2部署在容器集群2,集群代理3部署在容器集群3。
参见图3所示,管理设备可以由认证模块(Authentication)和API处理单元组成。认证模块用于确认请求方的身份,请求方发送携带token(令牌)的请求,认证模块根据token所对应的请求方的权限信息,对请求方的操作进行细粒度的权限控制。API处理单元用于接收已通过认证模块的请求,根据请求内容,获知需要下发的目标容器集群,将请求传递到目标容器集群对应的集群控制器。
示例性的,云计算平台可以采用微服务架构,各组件(如认证模块、API处理单元、集群控制器和集群代理)通过API实现关联,各组件可以独立部署,互不干扰。比如说,认证模块与API处理单元通过API实现关联,API处理单元与集群控制器通过API实现关联,集群控制器与集群代理通过API实现关联。
示例性的,由于管理设备可以管理各厂商的容器集群,各厂商的容器集群的版本可能不同,而且容器集群可以进行定制化改造,因此,为了更好的管理各容器集群,则针对每个容器集群,为该容器集群部署一个集群控制器和一个集群代理,该集群控制器运行在管理设备,该集群代理运行在该容器集群。
示例性的,集群控制器的功能可以包括但不限于:监测容器集群的资源变化,如内存使用率、CPU使用率等。配置容器集群的访问控制策略。
示例性的,集群代理的功能可以包括但不限于:针对Kubernetes容器集群来说,集群代理可以连接容器集群中的Kubernetes API,通过Kubernetes API实现容器集群内Kubernetes资源的创建、修改和删除。实现容器集群和管理设备(集群控制器)之间的消息传输,包括事件、指标、健康状况和节点信息等。
在上述应用场景下,本申请实施例中提出一种容器集群的管理方法,参见图4所示,为该容器集群的管理方法的流程示意图,该方法可以包括:
步骤401、管理设备接收用户设备发送的操作请求。
比如说,假设存在用户user_demo,该用户需要通过用户设备访问容器集群1,以获取容器集群1上的所有节点信息(即所有工作节点的信息),在此基础上,用户设备可以向管理设备发送登录请求,该登录请求可以携带用户名和密码等信息,例如,用户可以登录容器集群的管理***,通过portal界面的登录功能,输入用户名和密码等信息,这样,用户设备可以发送登录请求。
管理设备的认证模块在得到该登录请求后,可以从该登录请求中解析出用户名和密码等信息,并利用用户名和密码等信息对用户设备进行验证,若验证成功,则认证模块生成token,并将token发送给用户设备。若认证失败,则认证模块拒绝向用户设备发送token,而是通知用户设备认证失败。
用户设备在接收到token后,可以向管理设备发送操作请求。比如说,用户可以登录容器集群的管理***,通过portal界面的操作功能,发出获取容器集群1上的所有节点信息的指令,用户设备在接收到该指令后,就可以向管理设备发送操作请求。其中,该操作请求可以包括但不限于token、容器集群1的集群标识和操作类型。比如说,由于用户设备已获取管理设备分配的token,因此,该操作请求可以包括该token。由于是针对容器集群1的操作请求,因此,该操作请求可以包括容器集群1的集群标识,该集群标识用于表示需要对容器集群1进行操作,是容器集群1的唯一标识,用于区分不同的容器集群。由于需要“获取所有节点信息”,因此,该操作请求可以包括操作类型,该操作类型可以是“节点信息获取类型”,表示获取容器集群(如容器集群1)上的所有节点信息。
综上所述,管理设备可以接收到该操作请求,且管理设备的认证模块可以得到该操作请求,该操作请求包括token、容器集群1的集群标识和操作类型。
步骤402、管理设备基于该操作请求确定用户设备的认证信息(该认证信息可以是token),并基于该认证信息对用户设备进行身份认证。
比如说,认证模块在得到该操作请求之后,可以从该操作请求中解析出token(即用户设备的认证信息),并基于token对用户设备进行身份认证,对此身份认证过程不做限制。当然,上述是以token的认证方式为例,在实际应用中,还可以采用其它认证方式对用户设备进行身份认证,本实施例中不做限制。
若用户设备的认证成功,则执行步骤403。若用户设备的认证失败,则丢弃该操作请求,并向用户设备返回认证失败消息,由用户设备重新发送操作请求。
步骤403、在用户设备的认证成功时,管理设备基于该操作请求确定用户设备的操作类型和身份信息,并通过该身份信息查询已配置的权限表,得到与该身份信息对应的权限数据,该权限数据可以包括允许用户设备执行的操作类型。
比如说,认证模块在得到该操作请求之后,由于该操作请求包括用户设备的操作类型,因此,可以从该操作请求中解析出用户设备的操作类型,如该操作类型是“节点信息获取类型”,用于表示需要获取所有节点信息。
比如说,在认证模块利用用户名和密码对用户设备进行验证,且验证成功后,认证模块可以生成token,并记录该token与该用户设备的身份信息(如用户名等,当然,也可以是用于唯一标识该用户设备的其它身份信息,如IP地址等)的对应关系。在此基础上,认证模块在得到该操作请求之后,由于该操作请求包括token,因此,可以从该操作请求中解析出token,并通过该token查询该对应关系,得到与该token对应的身份信息,即用户设备的身份信息。
在一种可能的实施方式中,管理设备可以预先配置权限表,该权限表可以包括身份信息与权限数据的对应关系,且该权限数据包括允许该身份信息执行的操作类型。比如说,该身份信息也可以称为角色信息,且该权限数据表示该身份信息的操作类型范围,即是该身份信息的操作权限范围。
参见表1所示,是权限表的示例,该权限表可以根据用户的权限进行配置,对此权限表的内容不做限制。比如说,若用户a具有操作类型1的操作权限,则可以在权限表中记录用户a的身份信息(如aaa)与操作类型1的对应关系,若用户a不具有操作类型2的操作权限,则不会在权限表中记录用户a的身份信息与操作类型2的对应关系,以此类推,就可以得到表1所示的权限表。
表1
身份信息 权限数据
aaa 操作类型1、操作类型3
bbb 操作类型1、操作类型2、操作类型4
ccc 操作类型1、操作类型3、操作类型5
ddd 操作类型1、操作类型2、操作类型3、操作类型4、操作类型5
... ...
示例性的,基于已配置的权限表,管理设备的认证模块基于该操作请求确定用户设备的身份信息之后,就可以通过该身份信息查询该权限表(参见表1所示),得到与该身份信息对应的权限数据。比如说,若身份信息是ccc,则权限数据包括操作类型1、操作类型3、操作类型5,也就是说,该权限数据表示允许用户设备执行的操作类型是操作类型1、操作类型3和操作类型5。
步骤404、管理设备确定该权限数据(即权限表中与该身份信息对应的权限数据)是否包括该操作类型(即基于该操作请求确定的操作类型)。若该权限数据包括该操作类型,则允许用户设备对容器集群进行操作,执行步骤405。若该权限数据不包括该操作类型,则禁止用户设备对容器集群进行操作,丢弃该操作请求,并向用户设备返回权限错误消息,由用户设备重新发送操作请求。
示例性的,在步骤402中,关于认证失败消息,用于表示用户设备无法操作容器集群的原因是“认证失败”,在步骤404中,关于权限错误消息,用于表示用户设备无法操作容器集群的原因是“权限错误”。显然,基于用户设备无法操作容器集群的原因,用户设备可以重新发送符合要求的操作请求。
步骤405、管理设备基于该操作请求确定目标容器集群的集群标识,并从所有容器集群中选取出与该集群标识对应的目标容器集群。
比如说,认证模块可以将该操作请求发送给API处理单元,API处理单元接收到操作请求后,由于该操作请求包括目标容器集群的集群标识,因此,可以从该操作请求中解析出目标容器集群的集群标识。若用户需要获取容器集群1上的所有节点信息,则操作请求中的集群标识是容器集群1的集群标识,也就是说,API处理单元确定目标容器集群的集群标识是容器集群1的集群标识。
示例性的,针对每个容器集群来说,该容器集群具有唯一的集群标识,即不同容器集群的集群标识不同,可以通过集群标识查询到容器集群。在此基础上,API处理单元在从操作请求中解析出集群标识之后,就可以从所有容器集群中选取出与该集群标识对应的容器集群,将与该集群标识对应的容器集群记为目标容器集群。比如说,假设API处理单元从操作请求中解析出容器集群1的集群标识,则可以确定目标容器集群是容器集群1,以此类推。
步骤406、管理设备从所有集群控制器中确定目标容器集群对应的目标集群控制器(将目标容器集群对应的集群控制器记为目标集群控制器)。
参见图3所示,每个容器集群对应一个集群控制器和一个集群代理,比如说,容器集群1对应集群控制器1和集群代理1,容器集群2对应集群控制器2和集群代理2,容器集群3对应集群控制器3和集群代理3,在此基础上,在确定出目标容器集群是容器集群1之后,API处理单元就可以从所有集群控制器中确定容器集群1对应的目标集群控制器,即目标集群控制器是集群控制器1。
步骤407、管理设备将该操作请求发送给目标集群控制器。
比如说,API处理单元确定目标集群控制器是集群控制器1之后,就可以将该操作请求发送给集群控制器1。示例性的,由于API处理单元和集群控制器1均部署在管理设备内部,且集群控制器1与API处理单元通过API实现关联,因此,API处理单元可以直接将该操作请求发送给集群控制器1,且集群控制器1可以正确接收该操作请求,并对该操作请求进行正确识别和处理。
步骤408、目标集群控制器将该操作请求发送给目标容器集群对应的目标集群代理(将目标容器集群对应的集群代理记为目标集群代理)。
参见图3所示,每个容器集群对应一个集群控制器和一个集群代理,比如说,容器集群1对应集群控制器1和集群代理1,容器集群2对应集群控制器2和集群代理2,容器集群3对应集群控制器3和集群代理3,在此基础上:
集群控制器1和集群代理1可以通过API实现关联,即在集群控制器1与集群代理1之间建立目标通道1,目标通道1是一个传输通道,集群控制器1与集群代理1之间通过目标通道1进行通信。集群控制器1通过目标通道1向集群代理1发送消息时,需要符合目标通道1的接口需求,使得集群代理1正确接收并处理该消息。集群代理1通过目标通道1向集群控制器1发送消息时,需要符合目标通道1的接口需求,使得集群控制器1正确接收并处理该消息。
同理,集群控制器2和集群代理2通过API实现关联,在集群控制器2与集群代理2之间建立目标通道2,目标通道2是一个传输通道,集群控制器2与集群代理2之间通过目标通道2进行通信。集群控制器3和集群代理3通过API实现关联,在集群控制器3与集群代理3之间建立目标通道3,目标通道3是一个传输通道,集群控制器3与集群代理3之间通过目标通道3进行通信。
在步骤408中,集群控制器1在接收到操作请求后,可以通过目标通道1将该操作请求发送给集群代理1(即目标集群代理)。例如,由于集群控制器1与集群代理1之间存在目标通道1,但是集群控制器1与集群代理2(或集群代理3)之间不存在目标通道,因此,集群控制器1只会通过目标通道1将该操作请求发送给集群代理1,而不会将该操作请求发送给集群代理2或集群代理3。
步骤409、目标集群代理基于该操作请求对目标容器集群进行操作。
示例性的,由于目标集群代理部署在目标容器集群内,使得目标集群代理能够与目标容器集群内的其它组件(如Master控制节点和工作节点等)进行通信,因此,目标集群代理在接收到该操作请求之后,就可以基于该操作请求对目标容器集群进行操作,本实施例对此操作过程不做限制。
比如说,该操作请求可以包括操作类型,且该操作类型是“节点信息获取类型”,用于表示需要获取所有节点信息,基于此,集群代理1在接收到该操作请求后,就可以收集容器集群1(即目标容器集群)上的所有节点信息(如所有工作节点的信息,如IP地址、状态等),对此收集过程不做限制。
可选地,在一种可能的实施方式中,目标集群代理基于该操作请求对目标容器集群进行操作之后,还可以执行如下步骤(在图4中并未示出如下步骤):
步骤410、目标集群代理对目标容器集群进行操作后,得到操作请求对应的操作结果,并通过目标通道将操作请求对应的操作结果发送给目标集群控制器。
比如说,集群代理1对容器集群1进行操作(即收集容器集群1上所有节点信息的操作)后,就可以得到容器集群1上的所有节点信息,容器集群1上的所有节点信息就是操作请求对应的操作结果。集群代理1得到操作请求对应的操作结果之后,可以通过目标通道1将该操作请求对应的操作结果发送给集群控制器1(即目标集群控制器)。例如,由于集群代理1与集群控制器1之间存在目标通道1,但是集群代理1与集群控制器2(或集群控制器3)之间不存在目标通道,因此,集群代理1会通过目标通道1将操作请求对应的操作结果发送给集群控制器1,而不会将操作结果发送给集群控制器2或集群控制器3。
步骤411、管理设备通过目标集群控制器获取该操作请求对应的操作结果,并将该操作请求对应的操作结果发送给用户设备。
比如说,集群控制器1可以通过目标通道1接收到该操作请求对应的操作结果,这样,管理设备可以从集群控制器1获取到该操作请求对应的操作结果,并将该操作请求对应的操作结果发送给用户设备,即将容器集群1上的所有节点信息发送给用户设备,至此,用户可以得到容器集群1上的所有节点信息。
在一种可能的实施方式中,管理设备还可以对容器集群进行资源管理,关于容器集群的资源管理过程,参见图5所示,可以采用如下步骤实现资源管理:
步骤501、管理设备确定待资源管理的候选容器集群。
比如说,当需要对容器集群1进行资源管理时,管理设备确定候选容器集群是容器集群1,当需要对容器集群2进行资源管理时,管理设备确定候选容器集群是容器集群2,当需要对容器集群3进行资源管理时,管理设备确定候选容器集群是容器集群3,在后续实施例中,以候选容器集群是容器集群2为例。
步骤502、管理设备从所有集群控制器中确定该候选容器集群对应的候选集群控制器(将候选容器集群对应的集群控制器记为候选集群控制器)。
参见图3所示,由于容器集群2对应集群控制器2和集群代理2,因此,在确定出候选容器集群是容器集群2之后,确定候选集群控制器是集群控制器2。
步骤503、管理设备将资源检测请求发送给候选集群控制器。
比如说,管理设备可以生成资源检测请求,并将该资源检测请求发送给集群控制器2。其中,该资源检测请求用于指示收集候选容器集群的资源信息,如CPU资源信息(如CPU使用率)、内存资源信息(如内存使用率)等。
步骤504、候选集群控制器将该资源检测请求发送给候选容器集群对应的候选集群代理(将候选容器集群对应的集群代理记为候选集群代理)。
集群控制器2在接收到资源检测请求后,可以通过目标通道2将资源检测请求发送给集群代理2(即候选集群代理)。例如,由于集群控制器2与集群代理2之间存在目标通道2,但是集群控制器2与集群代理1(或集群代理3)之间不存在目标通道,因此,集群控制器2只会通过目标通道2将资源检测请求发送给集群代理2,而不会将资源检测请求发送给集群代理1或集群代理3。
步骤505、候选集群代理基于该资源检测请求收集候选容器集群的资源信息。
示例性的,由于候选集群代理部署在候选容器集群内,使得候选集群代理能够与候选容器集群内的其它组件进行通信,因此,候选集群代理在接收到资源检测请求之后,该资源检测请求用于指示收集候选容器集群的资源信息,则候选集群代理可以收集候选容器集群的资源信息,如收集每个工作节点的CPU资源信息(如CPU使用率)、内存资源信息(如内存使用率)。
步骤506、候选集群代理通过目标通道将该资源信息发送给候选集群控制器。
比如说,集群代理2得到容器集群2的资源信息之后,可以通过目标通道2将容器集群2的资源信息发送给集群控制器2(即候选集群控制器)。
步骤507、管理设备通过候选集群控制器获取候选容器集群的资源信息,以及,管理设备基于该资源信息对候选容器集群进行资源管理。
比如说,集群控制器2可以通过目标通道2接收到容器集群2的资源信息,这样,管理设备可以从集群控制器2获取到容器集群2的资源信息,并基于容器集群2的资源信息对容器集群2进行资源管理。例如,当容器集群2的CPU使用率大于预设阈值1(可以根据经验配置)时,可以对容器集群2进行资源告警,表示容器集群2的资源有限。当容器集群2的内存使用率大于预设阈值2时,可以对容器集群2进行资源告警,表示容器集群2的资源有限。
在一种可能的实施方式中,针对步骤507,管理设备基于该资源信息对候选容器集群进行资源管理时,可以采用如下步骤实现资源管理:
步骤5071、管理设备生成资源管理请求。
比如说,若候选容器集群的资源信息表示候选容器集群的资源充足(如CPU使用率小于某个阈值,表示CPU资源充足,内存使用率小于某个阈值,表示内存资源充足),可以对候选容器集群进行缩容,则生成用于对候选容器集群进行缩容的资源管理请求。或者,若候选容器集群的资源信息表示候选容器集群的资源不足(如CPU使用率大于某个阈值,表示CPU资源不足,内存使用率大于某个阈值,表示内存资源不足),可以对候选容器集群进行扩容,则生成用于对候选容器集群进行扩容的资源管理请求。当然,在实际应用中,管理设备也可以生成用于从候选容器集群内删除已有节点的资源管理请求,或者在候选容器集群内创建新节点的资源管理请求,对此资源管理请求的类型不做限制。
步骤5072、管理设备将资源管理请求发送给候选集群控制器。
步骤5073、候选集群控制器将该资源管理请求发送给候选容器集群对应的候选集群代理。比如说,集群控制器2在接收到该资源管理请求后,可以通过目标通道2将该资源管理请求发送给集群代理2(即候选集群代理)。
步骤5074、候选集群代理基于该资源管理请求对候选容器集群进行资源管理,该资源管理可以包括但不限于:资源扩容、资源缩容、资源创建或资源删除。比如说,若资源管理请求用于对候选容器集群进行缩容,则候选集群代理可以对候选容器集群进行资源缩容处理。或者,若资源管理请求用于对候选容器集群进行扩容,则候选集群代理可以对候选容器集群进行资源扩容处理。或者,若资源管理请求用于在候选容器集群内创建新节点,则候选集群代理可以在候选容器集群内创建新节点。或者,若资源管理请求用于从候选容器集群内删除已有节点,则候选集群代理可以从候选容器集群内删除已有节点。
当然,上述只是对候选容器集群进行资源管理的几个示例,对此不做限制。
由以上技术方案可见,本申请实施例中,当需要对目标容器集群进行操作时,确定目标容器集群对应的目标集群控制器,由于目标集群控制器位于管理设备内,因此,可以将操作请求发送给目标集群控制器。由于目标集群控制器与目标容器集群对应的目标集群代理之间具有通道,因此,目标集群控制器可以通过该通道将操作请求发送给目标集群代理,使得目标集群代理基于该操作请求对目标容器集群进行操作。上述方式可以对多个容器集群进行统一管理,能够屏蔽不同容器集群之间的差异,即屏蔽不同容器集群的API差异,实现无差别的管理各厂家的容器集群,可有效降低用户运维成本,大幅度提升多个容器集群的操作的统一性,能够有效的管理各容器集群,用户使用体验较好。上述方式具有更好的可扩展性,如果需要增加新厂商的容器集群,不需要大量工作,就可以有效的管理新厂商的容器集群。用户可以根据自身业务对核心功能进行增强或者扩展,例如,可以对管理设备的核心数据执行备份容灾服务,对容器集群的主机、Pod、服务等对象进行监测,并创建告警规则,实现监测告警功能,确保业务具有良好的扩展型和灵活性。通过设置代理的模式,直接执行Kubernetes命令,从而绕开云厂商北向API的调用,大幅度提升操作的统一性。
基于与上述方法同样的申请构思,本申请实施例中提出一种容器集群的管理装置,云计算平台包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括与所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;参见图6所示,为所述装置的结构示意图,所述装置应用于所述管理设备,所述装置包括:
接收模块61,用于接收用户设备发送的操作请求,操作请求包括集群标识;
确定模块62,用于从所有容器集群中选取出与所述集群标识对应的目标容器集群;从所有集群控制器中确定所述目标容器集群对应的目标集群控制器;
发送模块63,用于将所述操作请求发送给所述目标集群控制器,以使所述目标集群控制器将所述操作请求发送给所述目标容器集群对应的目标集群代理,由所述目标集群代理基于所述操作请求对所述目标容器集群进行操作;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
在一种可能的实施方式中,所述装置还包括(在图中未视出):认证模块,用于基于所述操作请求确定所述用户设备的认证信息,基于所述认证信息对所述用户设备进行身份认证;若所述用户设备的认证成功,则由所述确定模块从所有容器集群中选取出与所述集群标识对应的目标容器集群;若所述用户设备的认证失败,则丢弃所述操作请求,并向所述用户设备返回认证失败消息。
示例性的,所述认证模块,还用于基于所述操作请求确定所述用户设备的操作类型和身份信息;通过所述身份信息查询已配置的权限表,得到与所述身份信息对应的权限数据,所述权限数据包括允许所述用户设备执行的操作类型;若所述权限数据包括该操作类型,则允许所述用户设备对容器集群进行操作,由所述确定模块从所有容器集群中选取出与所述集群标识对应的目标容器集群;若所述权限数据不包括该操作类型,则禁止所述用户设备对容器集群进行操作,丢弃所述操作请求,向所述用户设备返回权限错误消息。
示例性的,所述发送模块63,还用于通过所述目标集群控制器获取所述操作请求对应的操作结果;所述操作结果是所述目标集群代理对所述目标容器集群进行操作得到操作结果之后,通过所述目标通道发送给所述目标集群控制器的;以及,将所述操作请求对应的操作结果发送给所述用户设备。
在一种可能的实施方式中,所述装置还包括(在图中未视出):
管理模块,用于确定待资源管理的候选容器集群,从所有集群控制器中确定所述候选容器集群对应的候选集群控制器,将资源检测请求发送给所述候选集群控制器,以使所述候选集群控制器将所述资源检测请求发送给所述候选容器集群对应的候选集群代理,由所述候选集群代理基于所述资源检测请求收集所述候选容器集群的资源信息,并将所述资源信息发送给所述候选集群控制器;以及,通过所述候选集群控制器获取所述候选容器集群的资源信息;基于所述资源信息对所述候选容器集群进行资源管理。
示例性的,所述管理模块基于所述资源信息对所述候选容器集群进行资源管理时具体用于:将资源管理请求发送给所述候选集群控制器,以使所述候选集群控制器将所述资源管理请求发送给所述候选容器集群对应的候选集群代理,由所述候选集群代理基于所述资源管理请求对所述候选容器集群进行资源管理;其中,所述资源管理包括资源扩容、资源缩容、资源创建或资源删除。
基于与上述方法同样的申请构思,本申请实施例中提出一种云计算平台,所述云计算平台,可以包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;其中:
所述管理设备,用于接收用户设备发送的操作请求,所述操作请求包括集群标识;从所有容器集群中选取出与所述集群标识对应的目标容器集群;从所述管理设备部署的所有集群控制器中确定所述目标容器集群对应的目标集群控制器,并将所述操作请求发送给所述目标集群控制器;
所述目标集群控制器,用于在接收到所述操作请求之后,将所述操作请求发送给所述目标容器集群对应的目标集群代理;
所述目标集群代理,用于在接收到所述操作请求之后,基于所述操作请求对所述目标容器集群进行操作,得到所述操作请求对应的操作结果,并将所述操作请求对应的操作结果发送给所述目标集群控制器;
所述目标集群控制器,用于接收所述操作请求对应的操作结果,并将所述操作请求对应的操作结果发送给所述管理设备;
所述管理设备,用于将所述操作请求对应的操作结果发送给所述用户设备;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
基于与上述方法同样的申请构思,本申请实施例中提出一种管理设备,管理设备包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令;处理器用于执行机器可执行指令,以实现上述容器集群的管理方法。比如说,处理器用于执行机器可执行指令,以实现以下步骤:
接收用户设备发送的操作请求,所述操作请求包括集群标识;
从所有容器集群中选取出与所述集群标识对应的目标容器集群;
从管理设备部署的所有集群控制器中确定所述目标容器集群对应的目标集群控制器,并将所述操作请求发送给所述目标集群控制器,以使所述目标集群控制器将所述操作请求发送给所述目标容器集群对应的目标集群代理,由所述目标集群代理基于所述操作请求对所述目标容器集群进行操作;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的容器集群的管理方法。
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种容器集群的管理方法,其特征在于,云计算平台包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括与所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;所述方法应用于所述管理设备,所述方法包括:
接收用户设备发送的操作请求,所述操作请求包括集群标识;
从所有容器集群中选取出与所述集群标识对应的目标容器集群;
从所述管理设备部署的所有集群控制器中确定所述目标容器集群对应的目标集群控制器,并将所述操作请求发送给所述目标集群控制器,以使所述目标集群控制器将所述操作请求发送给所述目标容器集群对应的目标集群代理,由所述目标集群代理基于所述操作请求对所述目标容器集群进行操作;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
2.根据权利要求1所述的方法,其特征在于,所述从所有容器集群中选取出与所述集群标识对应的目标容器集群之前,所述方法还包括:
基于所述操作请求确定所述用户设备的认证信息,基于所述认证信息对所述用户设备进行身份认证;若所述用户设备的认证成功,则执行从所有容器集群中选取出与所述集群标识对应的目标容器集群的操作;若所述用户设备的认证失败,则丢弃所述操作请求,并向所述用户设备返回认证失败消息。
3.根据权利要求1所述的方法,其特征在于,所述从所有容器集群中选取出与所述集群标识对应的目标容器集群之前,所述方法还包括:
基于所述操作请求确定所述用户设备的操作类型和身份信息;
通过所述身份信息查询已配置的权限表,得到与所述身份信息对应的权限数据,所述权限数据包括允许所述用户设备执行的操作类型;
若所述权限数据包括该操作类型,则允许所述用户设备对容器集群进行操作,执行从所有容器集群中选取出与所述集群标识对应的目标容器集群的操作;
若所述权限数据不包括该操作类型,则禁止所述用户设备对容器集群进行操作,丢弃所述操作请求,向所述用户设备返回权限错误消息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述目标集群控制器获取所述操作请求对应的操作结果;其中,所述操作结果是所述目标集群代理对所述目标容器集群进行操作,并得到操作结果之后,通过所述目标通道发送给所述目标集群控制器的;
将所述操作请求对应的操作结果发送给所述用户设备。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定待资源管理的候选容器集群,从所有集群控制器中确定所述候选容器集群对应的候选集群控制器,将资源检测请求发送给所述候选集群控制器,以使所述候选集群控制器将所述资源检测请求发送给所述候选容器集群对应的候选集群代理,由所述候选集群代理基于所述资源检测请求收集所述候选容器集群的资源信息,并将所述资源信息发送给所述候选集群控制器;
通过所述候选集群控制器获取所述候选容器集群的资源信息;
基于所述资源信息对所述候选容器集群进行资源管理。
6.根据权利要求5所述的方法,其特征在于,
所述基于所述资源信息对所述候选容器集群进行资源管理,包括:
将资源管理请求发送给所述候选集群控制器,以使所述候选集群控制器将所述资源管理请求发送给所述候选容器集群对应的候选集群代理,由所述候选集群代理基于所述资源管理请求对所述候选容器集群进行资源管理;其中,所述资源管理包括资源扩容、资源缩容、资源创建或资源删除。
7.根据权利要求1-6任一项所述的方法,其特征在于,针对所述云计算平台中的每个容器集群,所述容器集群包括Kubernetes容器集群。
8.一种容器集群的管理装置,其特征在于,云计算平台包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括与所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;所述装置应用于所述管理设备,所述装置包括:
接收模块,用于接收用户设备发送的操作请求,该操作请求包括集群标识;
确定模块,用于从所有容器集群中选取出与所述集群标识对应的目标容器集群;从所有集群控制器中确定所述目标容器集群对应的目标集群控制器;
发送模块,用于将所述操作请求发送给所述目标集群控制器,以使所述目标集群控制器将所述操作请求发送给所述目标容器集群对应的目标集群代理,由所述目标集群代理基于所述操作请求对所述目标容器集群进行操作;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:认证模块,用于基于所述操作请求确定所述用户设备的认证信息,基于所述认证信息对所述用户设备进行身份认证;若所述用户设备的认证成功,则由所述确定模块从所有容器集群中选取出与所述集群标识对应的目标容器集群;若所述用户设备的认证失败,则丢弃所述操作请求,并向所述用户设备返回认证失败消息;
其中,所述认证模块,还用于基于所述操作请求确定所述用户设备的操作类型和身份信息;通过所述身份信息查询已配置的权限表,得到与所述身份信息对应的权限数据,所述权限数据包括允许所述用户设备执行的操作类型;若所述权限数据包括该操作类型,则允许所述用户设备对容器集群进行操作,由所述确定模块从所有容器集群中选取出与所述集群标识对应的目标容器集群;若所述权限数据不包括该操作类型,则禁止所述用户设备对容器集群进行操作,丢弃所述操作请求,向所述用户设备返回权限错误消息;
其中,所述发送模块,还用于通过所述目标集群控制器获取所述操作请求对应的操作结果;所述操作结果是所述目标集群代理对所述目标容器集群进行操作得到操作结果之后,通过所述目标通道发送给所述目标集群控制器的;以及,将所述操作请求对应的操作结果发送给所述用户设备;
其中,所述装置还包括:管理模块,用于确定待资源管理的候选容器集群,从所有集群控制器中确定所述候选容器集群对应的候选集群控制器,将资源检测请求发送给所述候选集群控制器,以使所述候选集群控制器将所述资源检测请求发送给所述候选容器集群对应的候选集群代理,由所述候选集群代理基于所述资源检测请求收集所述候选容器集群的资源信息,并将所述资源信息发送给所述候选集群控制器;以及,通过所述候选集群控制器获取所述候选容器集群的资源信息;基于所述资源信息对所述候选容器集群进行资源管理;
其中,所述管理模块基于所述资源信息对所述候选容器集群进行资源管理时具体用于:将资源管理请求发送给所述候选集群控制器,以使所述候选集群控制器将所述资源管理请求发送给所述候选容器集群对应的候选集群代理,由所述候选集群代理基于所述资源管理请求对所述候选容器集群进行资源管理;其中,所述资源管理包括资源扩容、资源缩容、资源创建或资源删除。
10.一种云计算平台,其特征在于,包括管理设备和多个容器集群,针对每个容器集群,所述云计算平台包括所述容器集群对应的集群控制器和集群代理,所述集群控制器部署在所述管理设备,所述集群代理部署在所述容器集群;
所述管理设备,用于接收用户设备发送的操作请求,所述操作请求包括集群标识;从所有容器集群中选取出与所述集群标识对应的目标容器集群;从所述管理设备部署的所有集群控制器中确定所述目标容器集群对应的目标集群控制器,并将所述操作请求发送给所述目标集群控制器;
所述目标集群控制器,用于在接收到所述操作请求之后,将所述操作请求发送给所述目标容器集群对应的目标集群代理;
所述目标集群代理,用于在接收到所述操作请求之后,基于所述操作请求对所述目标容器集群进行操作,得到所述操作请求对应的操作结果,并将所述操作请求对应的操作结果发送给所述目标集群控制器;
所述目标集群控制器,用于接收所述操作请求对应的操作结果,并将所述操作请求对应的操作结果发送给所述管理设备;
所述管理设备,用于将所述操作请求对应的操作结果发送给所述用户设备;
其中,所述目标集群控制器与所述目标集群代理之间建立有目标通道,且所述目标集群控制器与所述目标集群代理之间通过所述目标通道进行通信。
CN202111152714.0A 2021-09-29 2021-09-29 一种容器集群的管理方法、装置及云计算平台 Active CN113835844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111152714.0A CN113835844B (zh) 2021-09-29 2021-09-29 一种容器集群的管理方法、装置及云计算平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111152714.0A CN113835844B (zh) 2021-09-29 2021-09-29 一种容器集群的管理方法、装置及云计算平台

Publications (2)

Publication Number Publication Date
CN113835844A true CN113835844A (zh) 2021-12-24
CN113835844B CN113835844B (zh) 2024-05-24

Family

ID=78967437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111152714.0A Active CN113835844B (zh) 2021-09-29 2021-09-29 一种容器集群的管理方法、装置及云计算平台

Country Status (1)

Country Link
CN (1) CN113835844B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610449A (zh) * 2022-03-23 2022-06-10 上海道客网络科技有限公司 基于统一请求入口的多集群资源操作方法和***
TWI795262B (zh) * 2022-04-06 2023-03-01 中華電信股份有限公司 高可用服務之部署系統、方法及其電腦可讀媒介
CN116436671A (zh) * 2023-04-14 2023-07-14 北京志凌海纳科技有限公司 私有网络内的Kubernetes集群接入的方法、***、设备和介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646062A (zh) * 2012-03-20 2012-08-22 广东电子工业研究院有限公司 一种云计算平台应用集群弹性扩容方法
CN107426034A (zh) * 2017-08-18 2017-12-01 国网山东省电力公司信息通信公司 一种基于云平台的大规模容器调度***及方法
CN109542590A (zh) * 2018-11-28 2019-03-29 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
CN110647580A (zh) * 2019-09-05 2020-01-03 南京邮电大学 分布式容器集群镜像管理主节点、从节点、***及方法
CN110650193A (zh) * 2019-09-20 2020-01-03 腾讯科技(深圳)有限公司 节点管理方法、集群管理设备及存储介质
US20200137185A1 (en) * 2018-10-24 2020-04-30 Hewlett Packard Enterprise Development Lp Remote service access in a container management system
CN111679888A (zh) * 2020-06-04 2020-09-18 深圳前海微众银行股份有限公司 一种代理容器的部署方法及装置
WO2020238751A1 (zh) * 2019-05-28 2020-12-03 阿里巴巴集团控股有限公司 无服务器架构下的资源访问方法、设备、***及存储介质
US20200379812A1 (en) * 2019-05-31 2020-12-03 Hewlett Packard Enterprise Development Lp Unified container orchestration controller
CN112437129A (zh) * 2020-11-10 2021-03-02 广州虎牙科技有限公司 集群的管理方法及集群的管理装置
CN113032105A (zh) * 2021-04-20 2021-06-25 金蝶软件(中国)有限公司 一种Kubernetes集群访问控制方法、***及相关设备
CN113268351A (zh) * 2021-06-07 2021-08-17 北京金山云网络技术有限公司 一种网关服务的负载均衡方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646062A (zh) * 2012-03-20 2012-08-22 广东电子工业研究院有限公司 一种云计算平台应用集群弹性扩容方法
CN107426034A (zh) * 2017-08-18 2017-12-01 国网山东省电力公司信息通信公司 一种基于云平台的大规模容器调度***及方法
US20200137185A1 (en) * 2018-10-24 2020-04-30 Hewlett Packard Enterprise Development Lp Remote service access in a container management system
CN109542590A (zh) * 2018-11-28 2019-03-29 上海酷栈科技有限公司 Docker集群多租户下虚拟Socket通信的方法
WO2020238751A1 (zh) * 2019-05-28 2020-12-03 阿里巴巴集团控股有限公司 无服务器架构下的资源访问方法、设备、***及存储介质
US20200379812A1 (en) * 2019-05-31 2020-12-03 Hewlett Packard Enterprise Development Lp Unified container orchestration controller
CN110647580A (zh) * 2019-09-05 2020-01-03 南京邮电大学 分布式容器集群镜像管理主节点、从节点、***及方法
CN110650193A (zh) * 2019-09-20 2020-01-03 腾讯科技(深圳)有限公司 节点管理方法、集群管理设备及存储介质
CN111679888A (zh) * 2020-06-04 2020-09-18 深圳前海微众银行股份有限公司 一种代理容器的部署方法及装置
CN112437129A (zh) * 2020-11-10 2021-03-02 广州虎牙科技有限公司 集群的管理方法及集群的管理装置
CN113032105A (zh) * 2021-04-20 2021-06-25 金蝶软件(中国)有限公司 一种Kubernetes集群访问控制方法、***及相关设备
CN113268351A (zh) * 2021-06-07 2021-08-17 北京金山云网络技术有限公司 一种网关服务的负载均衡方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘渊;乔巍;: "云环境下基于Kubernetes集群***的容器网络研究与优化", 信息网络安全, no. 03, 10 March 2020 (2020-03-10) *
张琦;: "基于Docker的CaaS管理平台架构研究与设计", 计算机应用与软件, no. 11, 12 November 2018 (2018-11-12) *
王伟军;: "基于Kubernetes的容器云平台建设", 电脑知识与技术, no. 36, 25 December 2019 (2019-12-25) *
罗嵘;王焘;张文博;谢飞;: "一种构件级动态集群管理***的设计与实现", 计算机应用研究, no. 04, 15 April 2011 (2011-04-15) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610449A (zh) * 2022-03-23 2022-06-10 上海道客网络科技有限公司 基于统一请求入口的多集群资源操作方法和***
TWI795262B (zh) * 2022-04-06 2023-03-01 中華電信股份有限公司 高可用服務之部署系統、方法及其電腦可讀媒介
CN116436671A (zh) * 2023-04-14 2023-07-14 北京志凌海纳科技有限公司 私有网络内的Kubernetes集群接入的方法、***、设备和介质
CN116436671B (zh) * 2023-04-14 2023-11-17 北京志凌海纳科技有限公司 私有网络内的Kubernetes集群接入的方法、***、设备和介质

Also Published As

Publication number Publication date
CN113835844B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
CN113835844B (zh) 一种容器集群的管理方法、装置及云计算平台
US10225145B2 (en) Method and device for updating client
CN107005426B (zh) 一种虚拟网络功能的生命周期管理方法及装置
KR20190082926A (ko) 메시징 프로토콜 통신 관리
CN113918270A (zh) 基于Kubernetes的云资源调度方法及***
CN112131099B (zh) 一种版本升级测试方法及装置
CN108337110B (zh) 一种虚拟资源管理方法及装置、计算机可读存储介质
CN110597531B (zh) 分布式的模块升级方法、装置及存储介质
CN113778463B (zh) 一种业务服务部署方法及装置
US10282120B2 (en) Method, apparatus and system for inserting disk
CN110289965B (zh) 一种应用程序服务的管理方法及装置
CN111314241B (zh) 一种任务调度方法及调度***
CN111381835A (zh) 技术服务组件的注册与发现的方法、装置、设备及介质
CN110768812B (zh) 一种服务器管理***及方法
CN110581784B (zh) 一种节点健康检查方法、装置及设备
CN111935195B (zh) 分布式***管理方法、装置、存储介质和分布式管理***
JP5766346B2 (ja) ソフトウェア・オブジェクトをバックグラウンドで移動させる方法及び装置
CN107862040B (zh) 一种应用实例的缓存中数据的更新方法、装置及一种集群
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN109032674B (zh) 一种多进程管理方法、***及网络设备
CN110780944A (zh) 一种应用权限的启动方法、设备及机器可读存储介质
CN109933959B (zh) 一种许可证控制方法及相关设备
CN107547622B (zh) 一种资源调整方法及装置
CN108156201B (zh) 统一管理应用***配置数据的方法和装置
CN107493181B (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