一种API网关部署方法及装置制造方法及图纸

技术编号:27944300 阅读:14 留言:0更新日期:2021-04-02 14:26
本申请涉及微服务技术领域,特别涉及一种API网关部署方法及装置。该方法包括:基于容器化应用管理平台的helm,创建包括用于部署Kong实例所需的清单文件模板的应用包;轮询预设的针对每一待部署Kong实例配置的参数列表,采用所述应用包中各清单文件模板,分别生成该待部署Kong实例对应的部署文件,其中,一个待部署Kong实例对应的部署文件至少包括针对该待部署Kong实例配置的各参数值;基于各部署文件,分别生成对应的Kong实例。

【技术实现步骤摘要】
一种API网关部署方法及装置
本申请涉及微服务
,特别涉及一种API网关部署方法及装置。
技术介绍
API服务最基本的作用是接受来自客户端的请求并返回响应。然而,在当今蓬勃发展的微服务架构下,情况却并非如此简单。开发者们通常需要考虑API的安全防护、流量控制、分析与监控及计费等问题,而API网关便是解决这些问题的标配方案。API网关是位于客户端与后端服务集合之间的API管理工具,为API调用者提供了统一入口,接受来自客户端的API调用,通过路由机制转发到后端服务。Kong是一款基于Nginx与Lua模块编写的高性能、易扩展的API网关项目,它通过插件的形式提供身份验证,速率限制,负载均衡,日志记录,协议转换等功能。单实例的Kong网关很可能会成为系统的性能瓶颈。因此,如何实现一个多实例分布式的高性能高可用的API网关方案,是一个重要的问题。Kong官方给出的一种基于Docker容器技术的部署方案,Kong与PostgreSQL以容器的形式部署在docker环境之中。要实现Kong的集群部署,只需在官方方案的基础上部署多个Kong容器即可。所有的Kong节点均连接至同一个PostgreSQL数据库,以实现API网关配置的数据同步。然而,各Kong实例仅以容器的方式部署,在Kong实例跨服务器部署时,无法有效进行编排、管理和调度,在对Kong实例进行扩容时,需要通过docker命令或者接口来完成,实现过程较复杂。
技术实现思路
本申请提供了一种API网关部署方法及装置,用以解决现有技术中存在的各实例无法进行高效管理,调度和扩容的问题。第一方面,本申请提供了API网关部署方法,所述方法包括:基于容器化应用管理平台的helm,创建包括用于部署Kong实例所需的清单文件模板的应用包;轮询预设的针对每一待部署Kong实例配置的参数列表,采用所述应用包中各清单文件模板,分别生成该待部署Kong实例对应的部署文件,其中,一个待部署Kong实例对应的部署文件至少包括针对该待部署Kong实例配置的各参数值;基于各部署文件,分别生成对应的Kong实例。可选地,一个待部署Kong实例对应的参数列表至少包括:为该待部署Kong实例配置的IP地址信息,为该待部署Kong实例配置的端口信息和用于唯一标识该待部署Kong实例的实例名称。可选地,一个待部署Kong实例对应的参数列表还包括:集群中用于部署Kong实例的节点信息,该待部署Kong实例的CPU及内存的启动限制和运行限制。可选地,基于各部署文件,分别生成对应的Kong实例的步骤包括:在接收到Kong实例部署请求时,确定集群中用于部署Kong实例的目标节点;根据各部署文件,分别在所述目标节点上部署对应Kong实例。可选地,所述方法还包括:将部署至目标节点上的各Kong实例的IP地址添加至所述目标节点的网卡中,以使得该Kong实例启动时,基于所述网卡中的对应的IP地址与外部设备进行通信。第二方面,本申请提供了一种API网关部署装置,所述装置包括:创建单元,用于基于容器化应用管理平台的helm,创建包括用于部署Kong实例所需的清单文件模板的应用包;第一生成单元,用于轮询预设的针对每一待部署Kong实例配置的参数列表,采用所述应用包中各清单文件模板,分别生成该待部署Kong实例对应的部署文件,其中,一个待部署Kong实例对应的部署文件至少包括针对该待部署Kong实例配置的各参数值;第二生成单元,用于基于各部署文件,分别生成对应的Kong实例。可选地,一个待部署Kong实例对应的参数列表至少包括:为该待部署Kong实例配置的IP地址信息,为该待部署Kong实例配置的端口信息和用于唯一标识该待部署Kong实例的实例名称。可选地,一个待部署Kong实例对应的参数列表还包括:集群中用于部署Kong实例的节点信息,该待部署Kong实例的CPU及内存的启动限制和运行限制。可选地,基于各部署文件,分别生成对应的Kong实例时,所述第二生成单元具体用于:在接收到Kong实例部署请求时,确定集群中用于部署Kong实例的目标节点;根据各部署文件,分别在所述目标节点上部署对应Kong实例。可选地,所述装置还包括:添加单元,用于将部署至目标节点上的各Kong实例的IP地址添加至所述目标节点的网卡中,以使得该Kong实例启动时,基于所述网卡中的对应的IP地址与外部设备进行通信。第三方面,本申请实施例提供了一种API网关部署装置,该API网关部署装置包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。综上可知,本申请实施例提供的API网关部署方法,基于容器化应用管理平台的helm,创建包括用于部署Kong实例所需的清单文件模板的应用包;轮询预设的针对每一待部署Kong实例配置的参数列表,采用所述应用包中各清单文件模板,分别生成该待部署Kong实例对应的部署文件,其中,一个待部署Kong实例对应的部署文件至少包括针对该待部署Kong实例配置的各参数值;基于各部署文件,分别生成对应的Kong实例。采用本申请实施例提供的API网关部署方法,通过helm工具自动部署Kong实例集群,Kong实例以集群的方式管理,调度Kong实例,Kong实例的扩展操作简单灵活,提升了API网关的高可用性。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。图1为本申请实施例提供的一种API网关部署方法的详细流程图;图2为本申请实施例提供的一种API网关部署装置的结构示意图;图3为本申请实施例提供的另一种API网关部署装置的结构示意图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。本文档来自技高网...

【技术保护点】
1.一种API网关部署方法,其特征在于,所述方法包括:/n基于容器化应用管理平台的helm,创建包括用于部署Kong实例所需的清单文件模板的应用包;/n轮询预设的针对每一待部署Kong实例配置的参数列表,采用所述应用包中各清单文件模板,分别生成该待部署Kong实例对应的部署文件,其中,一个待部署Kong实例对应的部署文件至少包括针对该待部署Kong实例配置的各参数值;/n基于各部署文件,分别生成对应的Kong实例。/n

【技术特征摘要】
1.一种API网关部署方法,其特征在于,所述方法包括:
基于容器化应用管理平台的helm,创建包括用于部署Kong实例所需的清单文件模板的应用包;
轮询预设的针对每一待部署Kong实例配置的参数列表,采用所述应用包中各清单文件模板,分别生成该待部署Kong实例对应的部署文件,其中,一个待部署Kong实例对应的部署文件至少包括针对该待部署Kong实例配置的各参数值;
基于各部署文件,分别生成对应的Kong实例。


2.如权利要求1所述的方法,其特征在于,一个待部署Kong实例对应的参数列表至少包括:为该待部署Kong实例配置的IP地址信息,为该待部署Kong实例配置的端口信息和用于唯一标识该待部署Kong实例的实例名称。


3.如权利要求2所述的方法,其特征在于,一个待部署Kong实例对应的参数列表还包括:集群中用于部署Kong实例的节点信息,该待部署Kong实例的CPU及内存的启动限制和运行限制。


4.如权利要求1-3任一项所述的方法,其特征在于,基于各部署文件,分别生成对应的Kong实例的步骤包括:
在接收到Kong实例部署请求时,确定集群中用于部署Kong实例的目标节点;
根据各部署文件,分别在所述目标节点上部署对应Kong实例。


5.如权利要求4所述的方法,其特征在于,所述方法还包括:
将部署至目标节点上的各Kong实例的IP地址添加至所述目标节点的网卡中,以使得该Kong实例启动时,基于所述网卡中的对应的IP地址与外部设备进行通信。


6.一种API网关部署装置,其...

【专利技术属性】
技术研发人员:鲍伟伟张建伟熊宇豪
申请(专利权)人:新华三云计算技术有限公司
类型:发明
国别省市:四川;51

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

1