一种提升基于Kubernetes的大型云原生平台API调用性能的方法技术

技术编号:38020731 阅读:9 留言:0更新日期:2023-06-30 10:47
本发明专利技术公开了一种提升基于Kubernetes的大型云原生平台API调用性能的方法,包括以下步骤:S1.对etcd键值数据库进行优化,主要为集群框架优化,优化内容包括:存储优化(磁盘IO延迟优化)以及网络配置优化(网络IO延迟优化);S2.对api

【技术实现步骤摘要】
一种提升基于Kubernetes的大型云原生平台API调用性能的方法


[0001]本专利技术涉及软件运维领域,具体为一种提升基于Kubernetes的大型云原生平台API调用性能的方法。

技术介绍

[0002]Kubernetes API 使你可以查询和操纵 Kubernetes 中对象的状态。 Kubernetes 控制平面的核心是 API 服务器和它暴露的 HTTP API。 用户、集群的不同部分以及外部组件都通过 API 服务器相互通信。
[0003]当Kubernetes集群规模达到1k+节点时,系统的各个组件均可能出现性能问题:1.etcd数据库,执行查询节点及POD时,会出现连接超时的情况;2.api

server进行查询集群节点及POD时延迟较高;3.controller

manage不能及时感知到容器最新的变化,处理过程延时较高;4.scheduler在集群规模较大时候出现 延迟高,吞吐低的情况。

技术实现思路

[0004]本专利技术提供一种提升基于Kubernetes的大型云原生平台API调用性能的方法,包括以下步骤:S1.对etcd键值数据库进行优化,主要为集群框架优化,优化内容包括:存储优化(磁盘IO延迟优化)以及网络配置优化(网络IO延迟优化);S2.对api

server进行流控优化或进行相关参数的优化调整;S3.对controller

manage平面控制组件进行优化。
[0005]进一步地,所述S1步骤中包括以下子步骤:S11. 存储优化(磁盘IO延迟优化):依据snapshot 和 wal存储目录的数据写入方式不同,使用2块磁盘,进行分盘处理;S12.网络配置优化(网络IO延迟优化):修改心跳间隔时间以及选举超时时间;其中,修改后的心跳间隔时间为300

500ms,选举超时时间为5000ms。
[0006]进一步地,所述S2步骤中包括以下子步骤:S21. 流控优化:将原默认流控改为多级流控;所述多级流控具体为:在读写流控的基础上,根据操作、资源进行细粒度流控;S22. 相关参数的优化调整:将请求数数值修改为3000,只读请求数数值修改为1000。
[0007]进一步地,所述S3步骤中包括以下子步骤:S31.对pod list一次,进行分组;S32.将空间复杂度O(N)转换为时间复杂度O(P*D),加速pod list过程,增加Field索引。
[0008]进一步地,其中的网络方案采用sriov。
[0009]进一步地,所述方法均是基于Kubernetes组件完成的;所述Kubernetes组件包括:apiserver控制平面组件、etcd键值数据库、kube

scheduler控制平面组件、kube

controller

manager控制平面组件、kubelet、;kube

proxy网络代理组件。
[0010]进一步地,所述apiserver控制平面组件负责公开Kubernetes API,处理接受请求的服务工作;所述etcd键值数据库用作保存Kubernetes集群中所有数据的数据库;所述kube

scheduler控制平面组件负责对新建、未指定运行节点的Pod,并选择节点来让Pod在上面运行;所述kube

controller

manager控制平面组件用于运行节点、任务、端点、服务帐
户和令牌的控制器进程;所述kubelet会在kubernetes集群中每个节点上运行,用来保证容器都运行在对应的Pod中;所述kube

proxy网络代理组件用于实现Kubernetes中服务概念的一部分。
[0011]本专利技术所提供的一种提升基于Kubernetes的大型云原生平台API调用性能的方法,解决了在大规模集群中产生的服务响应超时,数据查询写入慢等情况,使kubernetes的集群资源得到更合理地利用,业务高峰期的服务调度更加迅速,集群中的操作能够得到更快的响应,使得kubernetes集群环境更具有鲁棒性。
附图说明
[0012]图1为本专利技术所提供的kubernetes的架构示意图;图2为本专利技术所提供的集群框架的架构示意图;图3为本专利技术所提供的多级流控的流程示意图;图4为本专利技术所提供的controller

manage的流程示意图。
具体实施方式
[0013]以下结合附图对本专利技术的实施方法进行详细说明,所描述的仅为部分实施例,并非全部实施例,为了清楚的目的,在附图及说明中省略了与本专利技术无关的表示及描述。
[0014]如图1所示,本专利技术提供一种提升基于Kubernetes的大型云原生平台API调用性能的方法,包括以下步骤:S1.对etcd键值数据库进行优化,主要为集群框架优化,优化内容包括:存储优化(磁盘IO延迟优化)以及网络配置优化(网络IO延迟优化);S2.对api

server进行流控优化或进行相关参数的优化调整;S3.对controller

manage平面控制组件进行优化。
[0015]其中,S1步骤中包括以下子步骤:S11. 存储优化(磁盘IO延迟优化):依据snapshot 和 wal存储目录的数据写入方式不同,使用2块磁盘,进行分盘处理;S12.网络配置优化(网络IO延迟优化):修改心跳间隔时间以及选举超时时间,其中,修改后的心跳间隔时间为300

500ms,选举超时时间为5000ms。
[0016]S2步骤中包括以下子步骤:S21. 流控优化:将原默认流控改为多级流控;所述多级流控具体为:在读写流控的基础上,根据操作、资源进行细粒度流控;S22. 相关参数的优化调整:将请求数数值改为3000,只读请求数数值改为1000。
[0017]S3步骤中包括以下子步骤:S31.对pod list一次,进行分组;S32.将空间复杂度O(N)转换为时间复杂度O(P*D),加速pod list过程,增加Field索引。
[0018]本专利技术提供的一种提升基于Kubernetes的大型云原生平台API调用性能的方法均是基于Kubernetes组件完成的。其中,Kubernetes组件中包括:kube

apiserver是控制平面的一个组件, 负责公开了Kubernetes API,处理接受请求的服务工作;etcd是键值数据库,用作保存Kubernetes集群中所有数据的数据库;kube

scheduler是控制平面的组件,负责对新建、未指定运行节点的Pod,并选择节点来让Pod在上面运行;kube

controller

manager是控制平面的组件,负责用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提升基于Kubernetes的大型云原生平台API调用性能的方法,其特征在于,包括以下步骤:S1.对etcd键值数据库进行优化,主要为集群框架优化,优化内容包括:存储优化(磁盘IO延迟优化)以及网络配置优化(网络IO延迟优化);S2.对api

server进行流控优化或进行相关参数的优化调整;S3.对controller

manage平面控制组件进行优化。2.根据权利要求1所述的一种提升基于Kubernetes的大型云原生平台API调用性能的方法,其特征在于,所述S1步骤中包括以下子步骤:S11. 存储优化(磁盘IO延迟优化):依据snapshot 和 wal存储目录的数据写入方式不同,使用2块磁盘,进行分盘处理;S12.网络配置优化(网络IO延迟优化):修改心跳间隔时间以及选举超时时间;其中,修改后的心跳间隔时间为300

500ms,选举超时时间为5000ms。3.根据权利要求1所述的一种提升基于Kubernetes的大型云原生平台API调用性能的方法,其特征在于,所述S2步骤中包括以下子步骤:S21. 流控优化:将原默认流控改为多级流控;所述多级流控具体为:在读写流控的基础上,根据操作、资源进行细粒度流控;S22. 相关参数的优化调整:将请求数数值修改为3000,只读请求数数值修改为1000。4.根据权利要求1所述的一种提升基于Kubernetes的大型云原生平台API调用性能的方法,其特征在于,所述S3步骤中包括以下子步骤:S31.对pod list一次,进行分组;S32.将空间复杂度O(N)转换为时间复杂度O(P*D),加速pod list过程,增加Fie...

【专利技术属性】
技术研发人员:管春元刘明田吉李佳刘彪娄江南李成杨爽牛建平孙大臣谢斌焦质晔滕训超孙增强
申请(专利权)人:启明信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1