Kubernetes集群的容器资源处理方法和装置与流程

文档序号:37554450发布日期:2024-04-08 14:06阅读:16来源:国知局
Kubernetes集群的容器资源处理方法和装置与流程

本技术涉及服务器扩容,特别是涉及一种kubernetes集群的容器资源处理方法和装置。


背景技术:

1、 kubernetes,简称k8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效(powerful),kubernetes提供了应用部署,规划,更新,维护的一种机制。

2、 kubernetes具备pod(容器组)级别的水平扩缩容能力。传统技术中,在扩缩容时,根据扩缩容条件,进行整个容器组级别的扩缩容。但是,通常情况下,用户仅仅希望对部分或者个别有用的容器或用户希望的容器进行扩容。因此,采用传统技术中的整个容器组级别的扩缩容,容易导致不必要的资源浪费。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种kubernetes集群的容器资源处理方法和装置。

2、第一方面,本技术提供了一种kubernetes集群的容器资源处理方法,kubernetes集群包括至少一个节点,节点中部署至少一个容器,节点中还部署有容器监控组件、代理组件和容器引擎,方法包括:

3、容器监控组件监测到目标容器需要扩容或者缩容时,向代理组件发送扩容或者缩容请求;

4、代理组件获取容器引擎套接字文件,并根据容器引擎套接字文件将扩容或者缩容请求发送至容器引擎;

5、容器引擎根据扩容或者缩容请求执行目标容器的扩容或者缩容操作。

6、在其中一个实施例中,代理组件获取容器引擎套接字文件,并根据容器引擎套接字文件将扩容或者缩容请求发送至容器引擎,包括:

7、代理组件获取容器引擎套接字文件,并根据容器引擎套接字文件中的通信接口将扩容或者缩容请求发送至容器引擎。

8、在其中一个实施例中,上述的kubernetes集群的容器资源处理方法还包括:

9、代理组件获取目标容器的配置信息;

10、根据容器引擎套接字文件将扩容或者缩容请求发送至容器引擎,包括:

11、代理组件根据容器引擎套接字文件中的通信接口,将目标容器的配置信息携带于扩容或者缩容请求中发送至容器引擎。

12、在其中一个实施例中,上述的kubernetes集群的容器资源处理方法还包括:

13、容器监控组件采集各容器的流量,当目标容器的流量达到第一预设阈值时,确定目标容器需要扩容;

14、容器监控组件监测到目标容器需要扩容或者缩容时,向代理组件发送扩容或者缩容请求,包括:

15、容器监控组件监测到目标容器需要扩容时,向代理组件发送扩容请求;

16、容器引擎根据扩容或者缩容请求执行目标容器的扩容或者缩容操作,包括:

17、容器引擎根据扩容请求执行目标容器的扩容操作。

18、在其中一个实施例中,上述的节点中还部署有各容器所在的容器组,容器组包括多个,容器引擎根据扩容请求执行目标容器的扩容操作,包括:

19、容器引擎在目标容器所在的容器组中创建目标容器的副本;

20、上述的kubernetes集群的容器资源处理方法还包括:

21、当目标容器所在的容器组中的剩余资源量与目标容器所需资源量不匹配时,容器监控组件获取与目标容器所需资源量匹配的容器组,向代理组件发送扩容请求时,将目标容器所需资源量匹配的容器组携带于扩容请求中;

22、容器引擎根据扩容请求执行目标容器的扩容操作,包括:

23、容器引擎根据扩容请求在目标容器所需资源量匹配的容器组中创建目标容器的副本。

24、在其中一个实施例中,上述的kubernetes集群的容器资源处理方法还包括:

25、当目标容器所在的节点中不存在与目标容器所需资源量匹配的容器组时,容器监控组件创建新的容器组,向代理组件发送扩容请求时,将新的容器组携带于扩容请求中;

26、容器引擎根据扩容请求执行目标容器的扩容操作,包括:

27、容器引擎根据扩容请求在新的容器组中创建目标容器的副本。

28、在其中一个实施例中,上述的kubernetes集群的容器资源处理方法还包括:

29、容器监控组件获取各节点中各个容器组的流量,当目标容器组的流量低于第二预设阈值时,确定目标容器组需要缩容;

30、容器监控组件获取目标容器组中负载最低的容器,确定为需要缩容的目标容器;

31、容器监控组件监测到目标容器需要扩容或者缩容时,向代理组件发送扩容或者缩容请求,包括:

32、容器监控组件监测到目标容器需要缩容时,向代理组件发送缩容请求;

33、容器引擎根据扩容或者缩容请求执行目标容器的扩容或者缩容操作,包括:

34、容器引擎根据缩容请求控制需要缩容的目标容器停止运行。

35、在其中一个实施例中,上述的kubernetes集群的容器资源处理方法还包括:

36、容器监控组件获取各节点中各个容器组的流量,当目标容器组的流量低于第二预设阈值时,确定目标容器组需要缩容;

37、容器监控组件获取目标容器组中创建时间最近的容器,确定为需要缩容的目标容器;

38、容器监控组件监测到目标容器需要扩容或者缩容时,向代理组件发送扩容或者缩容请求,包括:

39、容器监控组件监测到目标容器需要缩容时,向代理组件发送缩容请求;

40、容器引擎根据扩容或者缩容请求执行目标容器的扩容或者缩容操作,包括:

41、容器引擎根据缩容请求控制需要缩容的目标容器停止运行。

42、在其中一个实施例中,上述的kubernetes集群的容器资源处理方法还包括:

43、容器引擎为目标容器的副本创建访问地址,以便根据访问地址调用目标容器的副本。

44、在其中一个实施例中,各节点中的容器包括管理容器,各管理容器内的用户身份与预先设定的各个操作系统的用户身份之间存在映射关系,各操作系统的用户身份配置有不同的访问权限。

45、在其中一个实施例中,代理组件获取容器引擎套接字文件,并根据容器引擎套接字文件将扩容或者缩容请求发送至容器引擎,包括:

46、代理组件获取容器引擎套接字文件,并通过谷歌远程过程调用协议向容器引擎发送扩容或者缩容请求。

47、在其中一个实施例中,容器引擎包括docker,容器引擎套接字文件包括docker套接字文件。

48、第二方面,本技术提供了一种kubernetes集群的容器资源处理装置,kubernetes集群包括至少一个节点,节点中部署至少一个容器,节点中还部署有容器监控组件、代理组件和容器引擎,上述的装置包括:

49、容器监控组件,用于监测到目标容器需要扩容或者缩容时,向代理组件发送扩容或者缩容请求;

50、代理组件,用于获取容器引擎套接字文件,并根据容器引擎套接字文件将扩容或者缩容请求发送至容器引擎;

51、容器引擎,用于根据扩容或者缩容请求执行目标容器的扩容或者缩容操作。

52、第三方面,本技术提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时实现在第一方面本公开任一实施例中的kubernetes集群的容器资源处理方法的步骤。

53、第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现在第一方面本公开任一实施例中的kubernetes集群的容器资源处理方法的步骤。

54、上述的kubernetes集群的容器资源处理方法和装置,通过部署在kubernetes集群的节点上的容器监控组件、代理组件和容器引擎三者之间的交互,实现容器级别的扩缩容。具体而言,通过容器监控组件对各个容器进行监控,当监控到某个目标容器需要扩容或者缩容时,容器监控组件会调用代理组件,通过代理组件调用容器引擎来创建目标容器,这种方式相较于传统技术中的整个容器组进行扩缩容的方式而言,扩缩容的控制粒度更小,精确地根据扩缩需求执行扩缩容操作,不会造成资源的浪费。

55、另一方面,本技术通过代理组件调用容器引擎执行容器的扩缩容,无需将容器引擎的套接字文件挂载在某个容器内,也无需容器具备特权模式,避免了容器具备特权模式后具有访问宿主机所有文件的能力,进而避免了数据泄露,从而解决了数据安全问题。

56、总之,本技术在保证了数据安全的前提下,实现了容器级别的扩容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1