CN113347043B - 网关的管理方法、装置、网关管理平台及存储介质 - Google Patents

网关的管理方法、装置、网关管理平台及存储介质 Download PDF

Info

Publication number
CN113347043B
CN113347043B CN202110709713.5A CN202110709713A CN113347043B CN 113347043 B CN113347043 B CN 113347043B CN 202110709713 A CN202110709713 A CN 202110709713A CN 113347043 B CN113347043 B CN 113347043B
Authority
CN
China
Prior art keywords
gateway
container
service
apollo
interface
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
CN202110709713.5A
Other languages
English (en)
Other versions
CN113347043A (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.)
Wuhan Yuexuebang Network Technology Co Ltd
Original Assignee
Wuhan Yuexuebang Network Technology 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 Wuhan Yuexuebang Network Technology Co Ltd filed Critical Wuhan Yuexuebang Network Technology Co Ltd
Priority to CN202110709713.5A priority Critical patent/CN113347043B/zh
Publication of CN113347043A publication Critical patent/CN113347043A/zh
Application granted granted Critical
Publication of CN113347043B publication Critical patent/CN113347043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种网关的管理方法、装置、网关管理平台及存储介质,方法包括:在获取到配置信息之后,调用Apollo配置中心的接口,为网关创建Apollo服务,继而调用K8s接口,并基于Apollo服务,创建至少一个K8s容器,可以理解的是,每个K8s容器的配置文件中包括Apollo服务的接口;调用Apollo服务的接口,启动至少一个K8s容器,以使至少一个K8s容器中的每个K8s容器生成一个应用实例,实现网关的创建,与相关技术相比,无需为应用实例配置启动脚本,操作步骤较少,且无需为该网关申请新的设备,因此成本降低。

Description

网关的管理方法、装置、网关管理平台及存储介质
技术领域
本申请涉及网关技术领域,具体而言,涉及一种网关的管理方法、装置、网关管理平台及存储介质。
背景技术
在相关技术中,网关均是部署在阿里云的弹性可伸缩的云计算服务(ElasticCompute Service,ECS)机器上,如果需要部署新的网关,则首先要申请新的阿里云ECS机器,然后在申请到的ECS机器中配置网关应用实例的启动脚本,接着为该网关创建jenkins项目,最后在jenkins项目中配置网关所在ECS机器的网络之间互连的协议(InterworkingProtocol,IP)地址,可以理解的是,针对每个需要部署的网关,均需要单独为其申请新的ESC机器,成本较高,而且,部署网关的步骤较多。
发明内容
鉴于此,本申请实施例的目的在于提供一种网关的管理方法、装置、网关管理平台及存储介质,以解决上述问题。
第一方面,本申请实施例提供一种网关的管理方法,所述方法包括:获取网关创建请求;所述网关创建请求中包括所述网关的配置信息;调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务;调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器;调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例。
在上述实现过程中,在获取到配置信息之后,调用Apollo配置中心的接口,并基于配置信息,为网关创建Apollo服务,继而调用K8s接口,并基于Apollo服务,创建至少一个K8s容器,可以理解的是,每个K8s容器的配置文件中包括Apollo服务的接口;调用Apollo服务的接口,启动至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例,实现网关的创建,与现有技术相比,本申请无需为应用实例配置启动脚本,操作步骤较少,且无需为该网关申请新的设备,因此成本降低。
基于第一方面,在一种可能的设计中,所述方法还包括:获取网关修改请求;所述网关修改请求中包括所述网关的修改配置信息;基于所述Apollo服务的接口和所述修改配置信息,修改所述网关的配置信息。
在上述实现过程中,基于Apollo服务的接口和网关修改请求中的修改配置信息,修改网关的配置信息,实现对网关的修改。
基于第一方面,在一种可能的设计中,所述方法还包括:获取网关查询请求;所述网关查询请求中包括关键词信息;展示与所述关键词信息相对应的网关的配置信息。
在上述实现过程中,根据网关查询请求中的关键词信息,查询并展示出对应的网关的配置信息,以使用户能够直观地了解到网关的配置信息,便于后续操作。
基于第一方面,在一种可能的设计中,所述获取网关创建请求,包括;在接收到用户的触发操作时,展示信息配置界面;接收所述用户输入至所述信息配置界面中的所述配置信息。
在上述实现过程中,在接收到用户的触发操作时,通过生成信息配置界面,以便用户(例如程序员)能够在信息配置界面上输配置信息,便于用户操作,其次,通过获取用户在配置界面上输入的配置信息,以用于对网关进行创建,无需用户再线下联系管理员来进行网关的创建。
基于第一方面,在一种可能的设计中,所述方法还包括:获取所述至少一个k8s容器的初始IP地址;调用所述K8s接口,并基于所述至少一个k8s容器的初始IP地址,为所述网关创建K8s服务。
在上述实现过程中,通过调用K8s接口,并基于至少一个k8s容器的初始IP地址,为该网关创建K8s服务,以使K8s服务能根据至少一个k8s容器的初始IP地址,正确地将需要转发至该网关的流量转发至该网关。
基于第一方面,在一种可能的设计中,所述配置信息中还包括所述网关的名称;所述方法还包括:调用所述K8s接口,为所述网关创建命名空间;建立所述网关的名称与所述命名空间的一一对应关系;将所述命名空间分别与所述K8s服务与所述Apollo服务关联。
在上述实现过程中,通过调用K8s接口,为该网关创建命名空间,并建立网关的名称与命名空间的一一对应关系,以及将命名空间分别与K8s服务与Apollo服务关联,以保证后续能够根据该网关的名称,准确地确定出与其一一对应的命名空间,继而根据对应的命名空间,准确地确定出与其对应的K8s服务和Apollo服务,从而保证网关的正确运行。
基于第一方面,在一种可能的设计中,所述方法还包括:获取所述网关的路由配置请求;所述配置请求包括路由规则;调用所述Apollo配置中心的接口,将所述路由规则配置到所述Apollo服务;控制所述至少一个K8s容器从所述Apollo服务处获取所述路由规则。
在上述实现过程中,调用Apollo配置中心的接口,将该网关的路由规则配置到Apollo服务中,继而通过控制K8s容器从Apollo服务处获取路由规则,以成功地为该网关配置路由规则。
第二方面,本申请实施例提供一种网关的管理装置,所述装置包括:创建请求单元,用于获取网关创建请求;所述网关创建请求中包括所述网关的配置信息;Apollo服务创建单元,用于调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务;容器创建单元,用于调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器;容器启动单元,用于调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例。
基于第二方面,在一种可能的设计中,所述装置还包括:修改请求单元,用于获取网关修改请求;所述网关修改请求中包括所述网关的修改配置信息;修改单元,用于基于所述Apollo服务的接口和所述修改配置信息,修改所述网关的配置信息。
基于第二方面,在一种可能的设计中,所述装置还包括:查询单元,用于获取网关查询请求;所述网关查询请求中包括关键词信息;展示单元,用于展示与所述关键词信息相对应的网关的配置信息。
基于第二方面,在一种可能的设计中,所述创建请求单元,包括:界面展示单元,用于在接收到用户的触发操作时,展示信息配置界面;信息接收单元,用于接收所述用户输入至所述信息配置界面中的所述配置信息。
基于第二方面,在一种可能的设计中,所述装置还包括:IP地址获取单元,用于获取所述至少一个k8s容器的初始IP地址;K8s服务创建单元,用于调用所述K8s接口,并基于所述至少一个k8s容器的初始IP地址,为所述网关创建K8s服务。
基于第二方面,在一种可能的设计中,所述配置信息中包括所述网关的名称;所述装置还包括:命名空间创建单元,用于调用所述K8s接口,为所述网关创建命名空间;关系建立单元,用于建立所述网关的名称与所述命名空间的一一对应关系;关联单元,用于将所述命名空间分别与所述K8s服务与所述Apollo服务关联。
基于第二方面,在一种可能的设计中,所述装置还包括:路由配置请求单元,用于获取所述网关的路由配置请求;所述路由配置请求包括路由规则;配置单元,用于调用所述Apollo配置中心的接口,将所述路由规则配置到所述Apollo服务;控制单元,用于控制所述至少一个K8s容器从所述Apollo服务处获取所述路由规则。
第三方面,本申请实施例提供一种网关管理平台,包括处理器以及与所述处理器连接的存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行第一方面所述的方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上启动时,使得所述计算机执行第一方面所述的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网关管理平台的结构示意图。
图2为本申请实施例提供的网关的管理方法的流程示意图。
图3为本申请实施例提供的一种信息配置界面的示意图。
图4为本申请实施例提供的一种路由配置界面的示意图。
图5为本申请实施例提供的一种网关的容器化示意图。
图6为本申请实施例提供的网关的管理装置的结构示意图。
图标:101-处理器;102-存储器;103-通信接口;600-网关的管理装置;610-创建请求单元;620-Apollo服务创建单元;630-容器创建单元;640-容器启动单元。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
Kubernetes简称K8s,其是一个开源的Linux容器自动化运维平台,它消除了容器化应用程序在部署、伸缩时涉及到的许多手动操作。
请参照图1,图1为本申请实施例提供一种网关管理平台的结构示意图,所述网关管理平台可以由一个、两个或者多个服务器(服务器又称节点)构成,所述网关管理平台为K8s。
网关管理平台包括:存储器102、处理器101、通信接口103和通信总线,通信总线用于实现这些组件的连接通信。
所述存储器102用于存储本申请实施例提供的网关管理方法和装置对应的计算程序指令等各种数据,其中,存储器102可以是,但不限于,随机存取存储器,只读存储器(ReadOnly Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器101用于读取并运行存储于存储器中的网关管理方法和装置对应的计算机程序指令,以获取网关创建请求;所述网关创建请求中包括所述网关的配置信息;调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务;调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器;调用所述Apollo服务的接口,启动所述至少一个K8s容器,并得到至少一个应用实例。
其中,处理器101可能是一种集成电路芯片,具有信号的处理能力。上述的处理器101可以是通用处理器,包括中央处理器、网络处理器(Network Processor,NP)等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参照图2,图2为本申请实施例提供的一种网关的管理方法的流程图,所述方法应用于如图1所示的网关管理平台,下面将对图2所示的流程进行详细阐述,所述方法包括步骤:S21-S24。
S21:获取网关创建请求;所述网关创建请求中包括所述网关的配置信息。
S22:调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务。
S23:调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器。
S24:调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例。
与相关技术相比,无需为应用实例配置启动脚本,操作步骤较少,且无需为该网关申请新的设备,因此成本降低。
下面对上述方法进行详细介绍。
S21:获取网关创建请求;所述网关创建请求中包括所述网关的配置信息。
其中,所述配置信息可以包括:所述网关的域名、所述网关的名称、状态信息以及其他描述信息等。
在实际实施过程中,S21可以按照如下方式实施,实时或者不定时(例如,每隔设定时长、在接收到指令时、随机等)地获取网关创建请求。
作为一种实施方式,本申请中所述的K8s可被配置为可视化平台,此时,S21包括步骤A1-A2。
A1:在接收到用户的触发操作时,展示信息配置界面。
在实际实施过程中,A1可以按照如下方式实施,在接收到用户通过鼠标或者触摸选中配置图标的触发操作时,生成并展示配置界面;该配置图标在网关管理平台所提供的可视化界面上;其中,在实施例中,配置界面中包括配置信息表、网关新增按键、网关搜索框等,如图3所示。
在展示配置界面之后,执行步骤A2。
A2:接收所述用户输入至所述信息配置界面中的所述配置信息。
在实际实施过程中,A2可以按照如下方式实施,实时接收用户输入至配置信息表或配置信息输入框中的配置信息。
作为一种实施方式,A2可以按照如下方式实施,接收到通过鼠标或者触摸选中配置界面上的新增图标或完成图标的触发操作时,接收用户输入至配置信息表或配置信息输入框中的配置信息。
在一种可能的实施方式中,用户在K8s的可视化平台上可先选择网关配置,然后弹出如图3所示的配置界面,用户在点击网关新增按键之后,可在配置信息表中新增一行,在用户输入该网关的名称、域名、业务线、以及运行状态之后,可以点击配置界面中的完成按键(或图标),以实现网关配置信息的录入。
在获取到所述配置信息之后,执行S22。
S22:调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务。
在实际实施过程中,S22可以按照如下方式实施,调用Apollo配置中心的接口,并基于所述配置信息,在网关管理平台中为所述网关创建一个Apollo服务,可以理解的是,在为所述网关创建Apollo服务时,会为所述网关的Apollo服务配置唯一的接口(即地址),其中,不同的Apollo服务具有不同的接口;所述Apollo服务的配置文件中会包括:所述配置信息和所述Apollo服务的接口。其中,创建Apollo服务的具体实施方式为本领域熟知技术,因此,在此不再赘述。
在创建出所述网关的Apollo服务之后,执行S23。
S23:调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器。
在实际实施过程中,S23可以按照如下方式实施,调用K8s接口,以对网关管理平台中的各个节点的负载大小进行排序,并基于Apollo服务,从Apollo服务的配置文件中,获取Apollo服务的接口和前述的配置信息,并在网关管理平台中选取负载较小的至少一个节点,或者在网关管理平台中随机地选取至少一个节点,接着根据网关的配置信息和Apollo服务的接口,在选取出的至少一个节点中的每个节点上创建一个K8s容器;其中,所述网关的K8s容器的数量由RD(Research and Development engineer,研发工程师)和QA(QualityAssurance,品质保证)根据服务业务访问量确定的。
值得一提的是,在为所述网关创建K8s容器时,会为所述网关的各个K8s容器配置唯一的网络之间互连的协议(Interworking Protocol,IP)地址,即K8s容器的地址(即IP地址),各个K8s容器的IP地址不同;各个K8s容器的配置文件中包括:前述的配置信息、所述Apollo服务的接口,以及对应的K8s容器的IP地址。
其中,创建K8s容器的具体实施方式为本领域熟知技术,因此,在此不再赘述。
在为所述网关创建出Apollo服务和K8s容器之后,执行S24。
S24:调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例。
在实际实施过程中,S24可以按照如下方式实施,调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使各个K8s容器基于自身的配置文件中的配置信息生成应用实例;其中,一个K8s容器生成一个应用实例。
作为一种实施方式,在S22之前,所述方法还包括:解析所述网关创建请求,并存储所述配置信息。
具体地,在获取到网关创建请求之后,根据网关创建请求的数据格式,对网关创建请求进行解析,得到配置信息,并存储所述配置信息。
存储位置可为K8s中预设的存储空间,也可为通信连接的云储存空间或者其他存储空间,对此不做赘述。
作为一种实施方式,所述方法还包括步骤:B1-B2。
B1:获取网关修改请求;所述网关修改请求中包括所述网关的修改配置信息。
在实际实施过程中,B1可以按照如下方式实施,实时或者不定时地获取网关修改请求。
作为一种实施方式,B1可以按照如下方式实施,在接收到用户的触发操作时,展示所述信息配置界面;所述信息配置界面中包括:所述网关的配置信息;接收所述用户输入至所述信息配置界面中的所述网关的修改配置信息。
B2:基于所述Apollo服务的接口和所述修改配置信息,修改所述网关的配置信息。
在实际实时过程中,B2可以按照如下方式实施,对网关修改请求进行解析,得到修改配置信息,基于所述Apollo服务的接口和所述修改配置信息,修改Apollo服务和至少一个K8s容器的配置文件中的配置信息,以使Apollo服务和至少一个K8s容器的修改后的配置文件中的配置信息均为所述修改后的配置信息。
作为一种实施方式,在B1之后,所述方法还包括:基于所述修改配置信息,对预先存储的所述网关的配置信息进行修改。
作为一种实施方式,所述方法还包括步骤C1-C2。
C1:获取网关查询请求;所述网关查询请求中包括关键词信息。
其中,所述关键词信息可以为网关的名称、域名或业务线名称等。
在实际实施过程中,C1可以按照如下方式实施,实时或者不定时地获取网关的查询请求。
作为一种实施方式,C1可以按照如下方式实施,在接收到用户的触发操作时,展示所述信息配置界面;接收所述用户输入至所述信息配置界面中的关键词信息。
C2:展示与所述关键词信息相对应的网关的配置信息。
在实际实施过程中,C2可以按照如下方式实施,对查询请求进行解析,得到关键词信息,继而查询并展示与关键词信息相对应的网关的配置信息。
作为一种实施方式,所述方法还包括步骤D1-D2。
D1:获取所述至少一个K8s容器的初始IP地址。
在实际实施过程中,B2可以按照如下方式实施,对所述网关的至少一个K8s容器的配置文件进行解析,以获取所述至少一个K8s容器的初始IP地址。其中,K8s容器的初始IP地址为在该K8s容器被创建时,为该K8s容器分配的IP地址。
在获取到所述网关的各个k8s容器的初始IP地址之后,执行步骤D2。
D2:调用所述K8s接口,并基于所述至少一个K8s容器的初始IP地址,为所述网关创建K8s服务。
在实际实施过程中,D1可以按照如下方式实施,调用所述K8s接口,并基于所述至少一个K8s容器的初始IP地址,在网关管理平台中为所述网关创建一个K8s服务,可以理解的是,在为所述网关创建K8s服务时,会为所述K8s服务分配一个IP地址,即K8s服务的IP地址,继而在所述网关的K8s服务的配置文件中,写入所述K8s服务的IP地址和所述至少一个K8s容器的初始IP地址。
其中,创建K8s服务的具体实施方式为本领域熟知技术,因此,在此不再赘述。
在K8s容器被启动之后,K8s容器的IP地址可能会发生不断变化,例如在容器运行错误(Java代码出现更改、错误)、宕机等时。因此,作为一种实施方式,在步骤D2之后,所述方法还包括步骤D3-D4。
D3:获取所述至少一个k8s容器的当前IP地址。
在实际实施过程中,D2可以按照如下方式实施,在所述至少一个K8s容器被重启时、实时地或者不定时地对所述网关的至少一个k8s容器的配置文件进行解析,以获取所述至少一个k8s容器的当前IP地址。
在获取到所述网关的各个K8s容器的当前IP地址之后,执行步骤D3。
D3:利用所述至少一个K8s容器的当前IP地址,在所述K8s服务中更新预先存储的所述至少一个K8s容器的IP地址。
在实际实施过程中,D3可以按照如下方式实施,获取预先确定的所述K8s服务的IP地址,或者从所述K8s服务的配置文件中获取所述K8s服务的IP地址,并将所述网关的各个K8s容器的当前IP地址发送给所述K8s服务,以使所述K8s服务利用所述网关的各个K8s容器的当前IP地址,替换所述K8s服务中预先存储的与所述网关对应的全部K8s容器的IP地址。
作为一种实施方式,针对所述至少一个K8s容器中的每个K8s容器,在确定该K8s容器的当前IP地址与前一次获取到的该K8s容器的IP地址不同时,将所述网关的各个K8s容器的当前IP地址发送给所述K8s服务。
在上述实现过程中,通过将所述网关的各个K8s容器的当前IP地址发送给所述K8s服务,以在所述网关的K8s容器的IP地址发生变化后,还能准确地将需要转发至所述网关的流量准确地转发至该网关。
若所述配置信息中包括所述网关的名称,则作为一种实施方式,所述方法还包括步骤E1-E3。
E1:调用所述K8s接口,为所述网关创建命名空间。
在实际实施过程中,E1可以按照如下方式实施,调用所述K8s接口,以在网关管理平台中为所述网关创建一个命名空间,其中,创建命名空间的具体实施方式为本领域熟知技术,因此,在此不再赘述。
在为所述网关创建完一个命名空间之后,执行步骤E2。
E2:建立所述网关的名称与所述命名空间的一一对应关系。
在实际实施过程中,E2可以按照如下方式实施,从配置信息中提取出所述网关的名称,继而建立所述网关的名称与所述命名空间的一一对应关系。
E3:将所述命名空间分别与所述K8s服务与所述Apollo服务关联。
在实际实施过程中,E3可以按照如下方式实施,通过对K8s服务的配置文件进行解析,以获取所述K8s服务的IP地址,继而根据所述K8s服务的IP地址和所述Apollo服务的接口,建立所述命名空间与所述K8s服务的IP地址和所述Apollo服务的接口的对应关系。
作为一种实施方式,所述方法还包括步骤F1-F3。
F1:获取所述网关的路由配置请求;所述路由配置请求包括所述网关的路由配置信息;所述路由配置信息中包括路由规则。
其中,所述路由规则包括:路由过滤器。
所述路由规则还包括:路由的标识、服务名称、服务的统一资源定位符、路由断言、该网关的路由规则的创建优先级等中的至少一种。
所述路由配置信息中还可以包括:所述网关的名称、所述网关的域名或该网关的路由规则的创建优先级。
在实际实施过程中,F1可以按照如下方式实施,实时或者不定时地获取所述网关的路由配置请求。
作为一种实施方式,步骤F1包括步骤:F11-F12。
F11:在接收到用户的触发操作时,展示路由信息配置界面。
在实际实施过程中,A1可以按照如下方式实施,在接收到用户通过鼠标或者触摸选中路由配置图标的触发操作时,生成并展示路由配置界面,如图4所示;该路由配置图标在网关管理平台所提供的可视化界面上。
在展示配置界面之后,执行步骤A2。
F12:接收所述用户输入至所述路由配置界面中的所述路由配置信息。
在实际实施过程中,F12可以按照如下方式实施,实时接收用户输入至路由配置界面中的路由配置信息。
作为一种实施方式,F12可以按照如下方式实施,接收到通过鼠标或者触摸选中路由配置界面上的创建图标的触发操作时,接收用户输入至路由配置界面中的路由配置信息。
在获取到路由配置信息之后,执行步骤F2。
F2:通过调用所述Apollo配置中心的接口,将所述路由规则配置到所述Apollo服务中。
在实际实施过程中,D2可以按照如下方式实施,从所述路由配置信息中提取出所述路由规则,并通过调用所述Apollo配置中心的接口,以根据预先确定的Apollo服务的接口,将所述路由规则配置到所述Apollo服务的配置文件中。
作为一种实施方式,在所述路由配置信息中还包括所述网关的名称时,F2可以按照如下方式实施,从所述路由配置信息中提取出所述网关的名称和所述路由规则,继而根据所述网关的名称,确定出与所述网关的名称对应的命名空间,继而根据对应的命名空间确定出对应的Apollo服务的接口,从而通过调用所述Apollo配置中心的接口,以根据所述对应的Apollo服务的接口,将所述路由规则配置到与所述Apollo服务的配置文件中。
作为一种实施方式,在所述路由配置信息中还包括所述网关的域名时,F2可以按照如下方式实施,从所述路由配置信息中提取出所述网关的域名和所述路由规则,并对所述网关的域名进行解析,得到所述网关的名称,继而根据所述网关的名称,确定出与所述网关的名称对应的命名空间,继而根据对应的命名空间确定出对应的Apollo服务的接口,从而通过调用所述Apollo配置中心的接口,以根据所述对应的Apollo服务的接口,将所述路由规则配置到与所述Apollo服务的配置文件中。
作为一种实施方式,在所述路由配置信息中还包括所述路由规则的创建优先级时,F2可以按照如下方式实施,从所述路由配置信息中提取出所述路由规则和所述路由规则的创建优先级,调用所述Apollo配置中心的接口,以根据Apollo服务的接口,并按照所述创建优先级将所述路由规则配置到所述Apollo服务的配置文件中。
在将所述路由规则配置到所述Apollo服务中之后,执行步骤D3。
D3:控制所述至少一个K8s容器从所述Apollo服务处获取所述路由规则。
控制所述至少一个K8s容器实时或者不定时地基于自身配置文件中的所述Apollo服务的接口,从所述Apollo服务的配置文件中获取所述路由规则。
作为一种实施方式,所述方法还包括:接收所述网关的禁用指令;响应所述禁用指令,调用所述Apollo服务的接口,禁用所述K8s容器。
其中,接收所述网关的禁用指令,包括:获取用户在信息配置界面上选中与所述网关对应的编辑图标的编辑指令;响应所述编辑指令,将所述网关的运行状态选项设置为可更改状态;在接收到用户选中所述网关的运行状态选项中的禁用选项时,接收所述禁用指令。
其中,所述禁用指令中包括所述网关的名称或所述网关的域名。
作为一种实施方式,所述禁用指令中包括:所述网关的名称,响应所述禁用指令,利用所述K8s容器禁用所述应用实例,包括:
从所述禁用指令中提取出所述网关的名称,根据所述网关的名称,确定出对应的命名空间,接着根据对应的命名空间,确定出对应的Apollo服务的接口,继而调用所述Apollo服务的接口,禁用所述网关的各个K8s容器。
作为一种实施方式,所述禁用指令中还包括:所述网关的域名,响应所述禁用指令,调用所述Apollo服务的接口,禁用所述K8s容器,包括:
从所述禁用指令中提取出所述网关的域名,并对所述网关的域名进行解析,得到所述网关的名称,继而根据所述网关的名称,确定出对应的命名空间,接着根据对应的命名空间,确定出所述Apollo服务的接口,从而调用所述Apollo服务的接口,禁用所述网关的各个K8s容器。
作为一种实施方式,所述方法还包括:在所述K8s服务接收到Nignx发送的网络流量时,通过所述K8s服务将所述网络流量发送给所述网关的应用实例。
具体地,所述K8s服务将所述网络流量发送给所述网关的应用实例的具体实施方式为:所述K8s服务根据所述K8s服务的配置文件中的K8s容器的IP地址,将所述网络流量发送给所述网关的应用实例。
若所述K8s服务的配置文件中包括至少两个K8s容器的IP地址,作为一种实施方式,所述方法还包括:在所述K8s服务接收到Nignx发送的网络流量时,通过所述K8s服务将所述网络流量发送给运行于至少两个K8s容器中的任意一个K8s容器中的应用实例。
具体地,所述K8s服务将所述网络流量发送给所述至少两个应用实例中的任意一个应用实例的具体实施方式为:所述K8s服务从所述K8s服务的配置文件中随机地确定出一个K8s容器的IP地址,继而根据该K8s容器的IP地址,将所述网络流量发送给运行于该K8s容器中的应用实例。
请参照图5,图5为本实施例提供的一种网关的容器化示意图,从图3可知,网关管理平台在该平台上为名称为xianzhi-gateway的网关和uqun-gateway的网关分别创建了一个K8s服务,各个K8s服务分别与Nignx通信连接,其中,名称为xianzhi-gateway的网关所对应的应用实例有两个,这两个应用实例分别运行于不同的K8s容器中;名称为uqun-gateway的网关所对应的应用实例有两个,这两个应用实例分别运行于不同的K8s容器中,一个容器运行一个应用实例;其中,Nignx在接收到网络流量之后,Nignx对网络流量进行解析,得到K8s服务的IP地址,继而根据K8s服务的IP地址,将网络流量转发至对应的K8s服务,K8s服务根据K8s服务的配置文件中的K8s容器的IP地址,将网络流量发送给运行于该K8s容器中的应用实例。
请参照图6,图6是本申请实施例提供的一种网关的管理装置600的结构框图。下面将对图6所示的结构框图进行阐述,所示装置包括:
创建请求单元610,用于获取网关创建请求;所述网关创建请求中包括所述网关的配置信息。
Apollo服务创建单元620,用于调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务。
容器创建单元630,用于调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器。
容器启动单元640,用于调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例。
作为一种实施方式,所述装置还包括:修改请求单元,用于获取网关修改请求;所述网关修改请求中包括所述网关的修改配置信息;修改单元,用于基于所述Apollo服务的接口和所述修改配置信息,修改所述网关的配置信息。
作为一种实施方式,所述装置还包括:查询单元,用于获取网关查询请求;所述网关查询请求中包括关键词信息;展示单元,用于展示与所述关键词信息相对应的网关的配置信息。
作为一种实施方式,所述创建请求单元610,包括:界面展示单元,用于在接收到用户的触发操作时,展示信息配置界面;信息接收单元,用于接收所述用户输入至所述信息配置界面中的所述配置信息。
作为一种实施方式,所述装置还包括:IP地址获取单元,用于获取所述至少一个k8s容器的初始IP地址;K8s服务创建单元,用于调用所述K8s接口,并基于所述至少一个k8s容器的初始IP地址,为所述网关创建K8s服务。
作为一种实施方式,所述配置信息中包括所述网关的名称;所述装置还包括:命名空间创建单元,用于调用所述K8s接口,为所述网关创建命名空间;关系建立单元,用于建立所述网关的名称与所述命名空间的一一对应关系;关联单元,用于将所述命名空间分别与所述K8s服务与所述Apollo服务关联。
作为一种实施方式,所述装置还包括:路由配置请求单元,用于获取所述网关的路由配置请求;所述路由配置请求包括路由规则;配置单元,用于调用所述Apollo配置中心的接口,将所述路由规则配置到所述Apollo服务;控制单元,用于控制所述至少一个K8s容器从所述Apollo服务处获取所述路由规则。
本实施例对的各功能单元实现各自功能的过程,请参见上述图2-5所示实施例中描述的内容,此处不再赘述。
此外,本申请实施例还提供了一种存储介质,在该存储介质中存储有计算机程序,当所述计算机程序在计算机上启动时,使得所述计算机执行本申请任一项实施方式所提供的方法。
综上所述,本申请各实施例提出的网关的管理方法、装置、网关管理平台及存储介质,所述方法在获取到配置信息之后,调用Apollo配置中心的接口,并基于配置信息,为网关创建Apollo服务,继而调用K8s接口,并基于Apollo服务,创建至少一个K8s容器,可以理解的是,每个K8s容器的配置文件中包括Apollo服务的接口;调用Apollo服务的接口,启动至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例,实现网关的创建,与相关技术相比,本申请无需为应用实例配置启动脚本,操作步骤较少,且无需为该网关申请新的设备,因此成本降低。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

Claims (9)

1.一种网关的管理方法,其特征在于,所述方法包括:
获取网关创建请求;所述网关创建请求中包括所述网关的配置信息;
调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务;
调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器;
调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例;
所述方法还包括:
获取所述至少一个k8s容器的初始地址;
调用所述K8s接口,并基于所述至少一个k8s容器的初始地址,为所述网关创建K8s服务;
在所述至少一个K8s容器被重启时,获取所述至少一个k8s容器的当前IP地址;
利用所述至少一个K8s容器的当前IP地址,在所述K8s服务中更新预先存储的所述至少一个K8s容器的IP地址。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取网关修改请求;所述网关修改请求中包括所述网关的修改配置信息;
基于所述Apollo服务的接口和所述修改配置信息,修改所述网关的配置信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取网关查询请求;所述网关查询请求中包括关键词信息;
展示与所述关键词信息相对应的网关的配置信息。
4.根据权利要求1所述的方法,其特征在于,所述获取网关创建请求,包括:
在接收到用户的触发操作时,展示信息配置界面;
接收所述用户输入至所述信息配置界面中的所述配置信息。
5.根据权利要求1所述的方法,其特征在于,所述配置信息中包括所述网关的名称;所述方法还包括:
调用所述K8s接口,为所述网关创建命名空间;
建立所述网关的名称与所述命名空间的一一对应关系;
将所述命名空间分别与所述K8s服务与所述Apollo服务关联。
6.根据权利要求1-5中任一权项所述的方法,其特征在于,所述方法还包括:
获取所述网关的路由配置请求;所述路由配置请求包括所述网关的路由配置信息;所述路由配置信息中包括路由规则;
调用所述Apollo配置中心的接口,将所述路由规则配置到所述Apollo服务;
控制所述至少一个K8s容器从所述Apollo服务处获取所述路由规则。
7.一种网关的管理装置,其特征在于,所述装置包括:
创建请求单元,用于获取网关创建请求;所述网关创建请求中包括所述网关的配置信息;
Apollo服务创建单元,用于调用Apollo配置中心的接口,并基于所述配置信息,为所述网关创建Apollo服务;
容器创建单元,用于调用K8s接口,并基于所述Apollo服务,创建至少一个K8s容器;
容器启动单元,用于调用所述Apollo服务的接口,启动所述至少一个K8s容器,以使所述至少一个K8s容器中的每个K8s容器生成一个应用实例;
IP地址获取单元,用于获取所述至少一个k8s容器的初始地址;
K8s服务创建单元,用于调用所述K8s接口,并基于所述至少一个k8s容器的初始地址,为所述网关创建K8s服务;
在所述至少一个K8s容器被重启时,所述IP地址获取单元,还用于获取所述至少一个k8s容器的当前IP地址;利用所述至少一个K8s容器的当前IP地址,在所述K8s服务中更新预先存储的所述至少一个K8s容器的IP地址。
8.一种网关管理平台,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并启动时,执行如权利要求1-6中任一项所述的方法。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并启动时,执行如权利要求1-6中任一项所述的方法。
CN202110709713.5A 2021-06-25 2021-06-25 网关的管理方法、装置、网关管理平台及存储介质 Active CN113347043B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110709713.5A CN113347043B (zh) 2021-06-25 2021-06-25 网关的管理方法、装置、网关管理平台及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110709713.5A CN113347043B (zh) 2021-06-25 2021-06-25 网关的管理方法、装置、网关管理平台及存储介质

Publications (2)

Publication Number Publication Date
CN113347043A CN113347043A (zh) 2021-09-03
CN113347043B true CN113347043B (zh) 2022-11-22

Family

ID=77478735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110709713.5A Active CN113347043B (zh) 2021-06-25 2021-06-25 网关的管理方法、装置、网关管理平台及存储介质

Country Status (1)

Country Link
CN (1) CN113347043B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422350B (zh) * 2021-12-02 2024-02-06 阿里巴巴(中国)有限公司 一种公共云容器实例创建方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947961A (zh) * 2017-10-17 2018-04-20 上海数讯信息技术有限公司 基于SDN的Kubernetes网络管理***与方法
CN108737215A (zh) * 2018-05-29 2018-11-02 郑州云海信息技术有限公司 一种云数据中心Kubernetes集群容器健康检查的方法和装置
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN109995871A (zh) * 2019-04-09 2019-07-09 苏州浪潮智能科技有限公司 一种Pod调度方法及装置
CN110995511A (zh) * 2019-12-24 2020-04-10 邱瀚 基于微服务架构的云计算运维管理方法、装置和终端设备
CN111651523A (zh) * 2020-05-29 2020-09-11 烽火通信科技股份有限公司 一种Kubernetes容器平台的MySQL数据同步方法及***
CN112286705A (zh) * 2020-11-24 2021-01-29 四川长虹电器股份有限公司 一种基于Kubernetes的容器web服务接口聚合***
CN112702441A (zh) * 2021-01-05 2021-04-23 南京领行科技股份有限公司 基于容器的访问数据处理方法、装置、***及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108694117B (zh) * 2017-04-11 2021-10-01 北京京东尚科信息技术有限公司 基于容器技术的管理测试环境的方法和装置
CN108255497B (zh) * 2018-01-12 2021-07-06 新华三大数据技术有限公司 一种应用的部署方法及装置
CN111835862B (zh) * 2020-07-22 2023-05-30 浪潮云信息技术股份公司 一种参考流量类型部署对象存储后端服务的实现方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947961A (zh) * 2017-10-17 2018-04-20 上海数讯信息技术有限公司 基于SDN的Kubernetes网络管理***与方法
CN108737215A (zh) * 2018-05-29 2018-11-02 郑州云海信息技术有限公司 一种云数据中心Kubernetes集群容器健康检查的方法和装置
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109995871A (zh) * 2019-04-09 2019-07-09 苏州浪潮智能科技有限公司 一种Pod调度方法及装置
CN110995511A (zh) * 2019-12-24 2020-04-10 邱瀚 基于微服务架构的云计算运维管理方法、装置和终端设备
CN111651523A (zh) * 2020-05-29 2020-09-11 烽火通信科技股份有限公司 一种Kubernetes容器平台的MySQL数据同步方法及***
CN112286705A (zh) * 2020-11-24 2021-01-29 四川长虹电器股份有限公司 一种基于Kubernetes的容器web服务接口聚合***
CN112702441A (zh) * 2021-01-05 2021-04-23 南京领行科技股份有限公司 基于容器的访问数据处理方法、装置、***及存储介质

Also Published As

Publication number Publication date
CN113347043A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN113312064B (zh) 物理机的安装配置方法、装置以及计算机可读介质
CN110147241A (zh) 程序配置更新方法、电子装置、计算机设备及存储介质
CN113141405B (zh) 服务访问方法、中间件***、电子设备和存储介质
CN111752843A (zh) 用于确定影响面的方法、装置、电子设备及可读存储介质
US20170262263A1 (en) Process and system for the generation of an operating program in the form of a mobile application that is capable of operating on a mobile device
CN113347043B (zh) 网关的管理方法、装置、网关管理平台及存储介质
CN113285906A (zh) 安全策略配置方法、装置、设备和存储介质
CN103034545B (zh) 基于ace的通信框架和方法、及功能模块间的通信方法
CN109165513B (zh) ***配置信息的巡检方法、装置和服务器
CN111680288A (zh) 容器的命令执行方法、装置、设备及存储介质
KR20030013265A (ko) 계산기 자원 관리 장치, 방법 및 프로그램
CN111506641A (zh) 数据管理方法、数据采集平台、数据管理***及存储介质
CN105677331A (zh) 一种任务执行方法和装置
CN111045616A (zh) 耗时打印方法、装置、设备及存储介质
KR100930962B1 (ko) 알피씨 기반 소프트웨어의 원격지 보안 테스팅 장치 및방법
CN110505151B (zh) 流量转发方法、装置、设备及存储介质
CN113992622A (zh) 一种基于统一模型的多模板聚合消息通知发送***及方法
CN108924270B (zh) 终端联系人信息的更新方法、服务器及存储介质
CN108882268B (zh) 一种更新设备配置的方法及设备
CN112929462A (zh) 域名模板处理方法、装置和域名服务器
CN111400060A (zh) 设备联动方法、装置、服务器和介质
CN107819707B (zh) 数据处理的方法、装置、物理机、虚拟交换机与***
CN113489848B (zh) 一种终端设备测试方法、装置、电子设备及存储介质
CN114048081A (zh) Vpn设备的测试方法、装置、电子设备及存储介质
CN110278271B (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