CN112822061A - 一种边缘节点对外暴露服务的方法和系统 - Google Patents

一种边缘节点对外暴露服务的方法和系统 Download PDF

Info

Publication number
CN112822061A
CN112822061A CN202110408666.0A CN202110408666A CN112822061A CN 112822061 A CN112822061 A CN 112822061A CN 202110408666 A CN202110408666 A CN 202110408666A CN 112822061 A CN112822061 A CN 112822061A
Authority
CN
China
Prior art keywords
configuration information
service
pod
public network
proxy
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
CN202110408666.0A
Other languages
English (en)
Other versions
CN112822061B (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.)
Shenzhen Softcom Power Information Technology Co ltd
Original Assignee
Hangzhou Langche 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 Hangzhou Langche Technology Co ltd filed Critical Hangzhou Langche Technology Co ltd
Priority to CN202110408666.0A priority Critical patent/CN112822061B/zh
Publication of CN112822061A publication Critical patent/CN112822061A/zh
Application granted granted Critical
Publication of CN112822061B publication Critical patent/CN112822061B/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
    • 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
    • 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
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)

Abstract

本申请涉及一种边缘节点对外暴露服务的方法和系统,其中,该边缘节点对外暴露服务的方法包括:Kubernetes集群接收用户上传的服务配置信息;指示代理控制器解析服务配置信息并生成第一pod配置信息和service配置信息;调用云管组件,在云管组件的配合下基于service配置信息生成带有公网地址的service,并将service的后端指向第一pod配置信息;根据第一pod配置信息运行代理服务器;代理控制器根据公网地址和服务配置信息生成第二pod配置信息,并根据第二pod配置信息运行代理客户端;通过本申请,解决了相关技术中边缘侧节点无法在互联网上提供服务的问题,无需在资源紧张的边缘侧节点再设置反向代理服务器,实现了边缘侧节点对外暴露服务,节省了资源成本。

Description

一种边缘节点对外暴露服务的方法和系统
技术领域
本申请涉及云计算技术领域,特别是涉及一种边缘节点对外暴露服务的方法和系统。
背景技术
Kubernetes是自动化容器操作的开源平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。在一个中心侧加边缘侧部署的Kubernetes集群中,边缘侧Worker节点通过WebSocket的方式与中心侧Master节点通信,将工作负载同步到边缘侧运行。在这种场景下,由于边缘侧网络与中心测的物理隔离,边缘侧Worker节点上的Pod只能在局域网内提供服务,而无法在互联网上提供服务。
在相关技术中,可以通过在边缘侧节点上设置一个反向代理服务器来对外提供服务,但是,因为边缘侧节点上的设备资源通常都很紧缺,通过在边缘侧节点上设置反向代理服务器来实现对外提供服务需要投入较大的资源成本。
目前针对相关技术中Kubernetes集群下边缘侧Worker节点上的Pod无法在互联网中提供服务的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种边缘侧节点对外暴露服务的方法、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中Kubernetes集群中边缘侧节点无法在互联网上提供服务的问题。
第一方面,本申请实施例提供了一种边缘节点对外暴露服务的方法,所述方法包括:
Kubernetes集群接收用户上传的服务配置信息;
所述Kubernetes集群指示代理控制器解析所述服务配置信息并生成第一pod配置信息和service配置信息,其中,所述代理控制器设置在集群中心侧;
所述Kubernetes集群调用云管组件,在云管组件的配合下基于所述service配置信息生成带有公网地址的service,并将所述service的后端指向所述第一pod配置信息;
所述Kubernetes集群根据所述第一pod配置信息运行代理服务器;
所述Kubernetes集群指示所述代理控制器根据所述公网地址和所述服务配置信息生成第二pod配置信息,并根据所述第二pod配置信息运行代理客户端,其中,所述代理客户端设置在集群边缘侧;
所述Kubernetes集群通过所述公网地址连接所述代理客户端和所述代理服务器,将所述边缘侧应用的端口通过所述代理客户端映射到所述公网地址的端口,并配置所述边缘侧应用与所述代理服务器之间的通路。
在其中一些实施例中,所述Kubernetes集群调用云管组件,在云管组件的配合下基于所述service配置信息生成带有公网地址的service包括:
所述Kubernetes集群中的所述云管组件接收创建Service请求之后,调用云服务厂商的接口以创建所述公网地址;
所述Kubernetes集群将所述公网地址写入所述service配置信息并在更新后生成带有所述公网地址的所述service。
在其中一些实施例中,所述Kubernetes集群根据所述第一pod配置信息运行代理服务器包括:
所述Kubernetes集群根据所述第一pod配置信息创建第一pod;
所述Kubernetes集群基于所述第一pod运行所述代理服务器,并通过所述service的公网地址提供所述代理服务器的访问通路。
在其中一些实施例中,所述Kubernetes集群指示所述代理控制器根据所述公网地址和所述服务配置信息生成第二pod配置信息,并根据所述第二pod配置信息运行代理客户端包括:
所述代理控制器创建第二pod配置信息,并通过环境变量的方式将所述服务配置信息中服务公网端口、服务边缘侧端口、代理服务器端口和边缘侧应用IP写入所述第二pod配置信息中并将所述第二pod配置信息发送至Kubernetes集群;
所述Kubernetes集群根据所述第二pod配置信息创建第二pod,并基于所述第二pod运行所述代理客户端。
在其中一些实施例中,所述Kubernetes集群根据所述第一pod配置信息和所述service配置信息运行代理服务器包括:
遍历所述Kubernetes集群环境,在所述服务配置信息中没有指定使用新的所述公网地址的情况下,所述Kubernetes集群直接复用现有的所述代理服务器;
在所述服务配置信息中指定使用新的所述公网地址的情况下,所述Kubernetes集群根据所述第一pod配置信息和所述service配置信息运行所述代理服务器。
在其中一些实施例中,所述将所述边缘侧应用的端口通过所述代理客户端映射到所述公网地址的端口之后,所述方法还包括:
所述Kubernetes集群环境接收用户访问所述公网地址的网络流量;
调用负载均衡模块将所述网络流量转发到后端主机的TCP端口,所述后端主机中的kube-proxy模块通过写入iptables规则的方式,将所述网络流量转发到所述代理服务器;
所述代理客户端从所述代理服务器接收所述网络流量,将所述网络流量通过所述边缘侧应用的IP发送至所述边缘侧应用。
在其中一些实施例中,所述接收用户上传的所述服务配置信息包括:服务公网端口、服务边缘侧端口、代理服务器端口和边缘侧服务IP;
所述生成带有公网地址的service之后,所述代理控制器更新所述服务配置信息并将所述公网地址写入所述服务配置信息。
第二方面,本申请实施例提供了一种边缘节点对外暴露服务的系统,所述系统包括:Kubernetes集群和代理控制器;
所述Kubernetes集群用于接收用户上传的服务配置信息;
所述代理控制器用于解析所述服务配置信息并生成第一pod配置信息和service配置信息,其中,所述代理控制器设置在集群中心侧;
所述Kubernetes集群用于调用云管组件,在云管组件的配合下根据所述service配置信息生成带有公网地址的service,并将所述service的后端指向所述第一pod配置信息,或者,根据所述第一pod配置信息运行代理服务器;
所述代理控制器或者用于根据所述公网地址和所述服务配置信息生成第二pod配置信息,并根据所述第二pod配置信息运行代理客户端,其中,所述代理客户端设置在集群边缘侧;
所述Kubernetes集群还用于通过所述公网地址连接所述代理客户端和所述代理服务器,将所述边缘侧应用的端口通过所述代理客户端映射到所述公网地址的端口,并配置所述边缘侧应用与所述代理服务器之间的通路。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种边缘节点对外暴露服务的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种边缘节点对外暴露服务的方法。
相比于相关技术,本申请实施例提供的一种边缘节点对外暴露服务的方法,通过在Kubernetes集群中心侧添加一个动态代理控制器和代理服务器,在边缘节点增加一个反向代理客户端。当用户新增代理配置时,代理控制器按需选择创建或复用现有的反向代理服务器作为代理服务端,并向边缘侧Worker节点下发反向代理客户端的Pod。代理客户端的Pod在边缘节点运行之后,通过公网地址连接到中心侧节点上的代理服务器,将边缘侧应用的端口映射到公网地址的一个端口。解决了相关技术中Kubernetes集群中边缘侧Worker节点上的Pod无法在互联网中提供服务的问题,实现了边缘侧节点对外暴露服务的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种边缘节点对外暴露服务方法的应用环境示意图;
图2是根据本申请实施例的一种边缘侧节点对外暴露服务方法的流程图;
图3是根据本申请实施例生成带有公网地址的service的流程图;
图4是根据本申请实施例的访问流量转发示意图;
图5是根据本申请实施例的一种边缘节点对外暴露服务系统的结构框图;
图6是根据本申请实施例的一种边缘节点对外暴露服务系统的工作示意图;
图7是根据本申请实施例的代理控制器的工作时序示意图;
图8是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的一种边缘节点对外暴露服务的方法,可以应用在图1所示的应用环境中,图1是根据本申请实施例的一种边缘节点对外暴露服务方法的应用环境示意图。如图1所示,终端10与云服务器11通过网络进行通信。用户通过终端10访问云服务器11,其中,在云服务器11的上运行有Kubernetes集群环境,访问流量被转发到Kubernetes集群环境的后端主机上,并通过预设的公网地址访问集群中心测的代理服务器;最后,代理服务器通过该公网地址将流量转发至集群边缘侧的代理客户端,代理客户端根据应用IP转发流量至对应的应用中,从而实现通过互联网对集群边缘侧节点的访问。无需在边缘侧节点长期设置一个反向代理服务器来对外提供服务,降低了资源成本。进一步的,本实施例中的终端10可以是智能手机、平板电脑、台式电脑、笔记本电脑和智能可穿戴设备,云服务器11可以是独立的服务器或者多个服务器组成的服务器集群。
本申请提供了一种边缘节点对外暴露服务的方法,图2是根据本申请实施例的一种边缘侧节点对外暴露服务方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,Kubernetes集群接收用户上传的服务配置信息;该服务配置信息由开发人员按照需求编写;其中,Kubernetes集群提供有一种CustomResourceDefinition(简称为CRD)功能,用于对用户在集群中添加的服务配置信息进行处理;在本实施例中,Kubernetes集群接收的服务配置信息具体包括:服务公网端口、服务边缘侧端口、代理服务器端口和边缘侧服务IP;
步骤S202,Kubernetes集群指示代理控制器解析服务配置信息并生成第一pod配置信息和service配置信息,基于该第一pod配置信息运行代理服务器,其中,代理控制器设置在集群中心侧;在本实施例中,代理控制器首先从Kubernetes集群中获取服务配置信息,进行解析之后生成第一pod配置信息和service配置信息。需要说明的是,pod是集群环境中负载运行的最小单位,在Kubernetes集群中基于pod配置信息创建出对应的pod并运行的。集群基于该第一pod配置信息创建第一pod之后,再进一步的,再集群中的云管组件的配合下对service配置信息分配公网地址,并在更新后生成带有公网地址的service,同时,将带有公网地址service的后端指向该第一pod。最后Kubernetes集群基于该第一pod运行代理服务器。需要说明的是,在云管组件对service配置信息分配公网地址之后,上述服务配置信息会被代理控制器更新并将该公网地址写入其中;
步骤S203,代理控制器根据公网地址和服务配置信息生成第二pod配置信息,并根据第二pod配置信息运行代理客户端,其中,代理客户端设置在集群边缘侧;本实施例中,代理控制器创建第二pod配置信息,进一步的,通过环境变量的方式将服务配置信息中的公网地址、服务公网端口、服务边缘侧端口、代理服务器端口和边缘侧应用IP写入该第二pod配置信息中。最后,将该第二pod配置信息发送至Kubernetes集群,集群根据第二pod配置信息创建第二pod,并基于第二pod运行代理客户端;需要说明的是,本实施例中对于代理服务器和代理客户端都是动态创建和删除的,当用户在集群中写入动态代理的服务配置信息的情况下,代理控制器才会生成代理服务器和代理客户端相关的配置信息;在用户删除服务配置信息的情况下,上述的pod配置信息和service配置信息都会被删除,从而节约集群的资源;
步骤S204,通过公网地址连接代理客户端和代理服务器,将边缘侧应用的端口通过代理客户端映射到公网地址的端口,并配置边缘侧应用与代理服务器之间的通路。
通过上述步骤S201至S204,相比较于相关技术中在边缘侧长期设置代理服务器的方法实现边缘侧节点对外暴露服务的方法,本申请实施例通过在Kubernetes集群中心侧新增一个动态代理控制器和代理服务器,在边缘节点增加一个反向代理客户端。当用户新增代理配置时,代理控制器按需选择创建或复用现有的反向代理服务器作为代理服务端,并向边缘侧节点下发反向代理客户端的Pod。代理客户端的Pod在边缘节点运行之后,通过公网地址连接到中心侧节点上的反向代理服务端,将边缘侧应用的端口映射到公网地址的一个端口,无需在本就资源紧张的边缘侧节点再创建反向代理服务器,实现了边缘侧节点对外暴露服务,以及节省资源成本的目的。
在其中一些实施例中,图3是根据本申请实施例生成带有公网地址的service的流程图,如图3所示,该流程包括如下步骤:
S301,Kubernetes集群中的云管组件接收创建Service请求之后,调用云服务厂商的接口以创建公网地址;
S302,Kubernetes集群将公网地址写入service配置信息并在更新后生成带有公网地址的service。
在其中一些实施例中,Kubernetes集群指示代理控制器根据公网地址和服务配置信息生成第二pod配置信息,并根据第二pod配置信息运行代理客户端包括:代理控制器创建第二pod配置信息,并通过环境变量的方式将服务配置信息中的公网地址、服务公网端口、服务边缘侧端口、代理服务器端口和边缘侧应用IP写入第二pod配置信息中并将其发送至Kubernetes集群;Kubernetes集群根据第二pod配置信息创建第二pod,并基于第二pod运行代理客户端。
在其中一些实施例中,代理控制器按照业务需求选择创建或者直接复用现有的代理服务器作为代理服务端。其中,具体包括:遍历Kubernetes集群环境,在服务配置信息中没有指定使用新的公网地址的情况下,Kubernetes集群直接复用现有的代理服务器;在服务配置信息中指定使用新的公网地址的情况下,Kubernetes集群根据第一pod配置信息和service配置信息运行代理服务器。
在其中一些实施例中,图4是根据本申请实施例的访问流量转发示意图,如图4所示,将边缘侧应用的端口通过代理客户端映射到公网地址的端口之后, Kubernetes集群环境接收用户访问公网地址的网络流量;调用负载均衡模块将网络流量转发到后端主机的TCP端口,后端主机中的kube-proxy模块通过写入iptables规则的方式,将网络流量转发到代理服务器;进一步的,代理客户端通过公网地址从代理服务器接收网络流量,继而再将网络流量根据边缘侧应用的IP发送至边缘侧应用。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种边缘节点对外暴露服务的系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的一种边缘节点对外暴露服务系统的结构框图,如图5所示,该系统包括: Kubernetes集群51和代理控制器52;
Kubernetes集群51用于接收用户上传的服务配置信息;
代理控制器52用于解析服务配置信息并生成第一pod配置信息和service配置信息,其中,代理控制器52设置在集群中心侧;
Kubernetes集群51用于调用云管组件,在云管组件的配合下根据service配置信息生成带有公网地址的service,并将service的后端指向第一pod配置信息,或者,根据第一pod配置信息运行代理服务器;
代理控制器52或者用于根据公网地址和服务配置信息生成第二pod配置信息,并根据第二pod配置信息运行代理客户端,其中,代理客户端设置在集群边缘侧;
Kubernetes集群51还用于通过公网地址连接代理客户端和代理服务器,将边缘侧应用的端口通过代理客户端映射到公网地址的端口,并配置边缘侧应用与代理服务器之间的通路。
在其中一些实施例中,图6是根据本申请实施例的边缘节点对外暴露服务系统的工作示意图,如图6所示,首先用户将编写好的服务配置信息上传至Kubernetes集群51,代理控制器52在Kubernetes集群51中获取服务配置信息后解析该服务配置信息输出pod配置信息和service配置信息,并且,调用云管组件对service配置公网地址,进一步的,Kubernetes集群基于该pod配置信息和公网地址创建并运行代理服务器的pod和代理客户端的pod,其中,该代理服务器在集群中心侧,该代理客户端在集群边缘侧;最后,通过代理客户端连接应用服务,用户通过上述公网地址、代理服务器以及代理客户端访问边缘侧节点。
在其中一些实施例中,图7是根据本申请实施例的代理控制器52的工作时序示意图,如图7所示,用户向Kubernetes集群51的API服务器写入服务配置信息后,该服务配置信息会交给代理控制器52处理。代理控制器52根据该服务配置信息,创建出代理服务器的第一Pod,再创建一个LoadBalancer类型Service指向代理服务器的第一Pod,此时便可以使用上述Service的公网地址访问代理服务器的Pod。最后代理控制器52创建代理客户端的Pod配置信息。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的边缘节点对外暴露服务的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种边缘节点对外暴露服务的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种边缘节点对外暴露服务的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图8是根据本申请实施例的电子设备的内部结构示意图,如图8所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图8所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种边缘节点对外暴露服务的方法,数据库用于存储数据。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种边缘节点对外暴露服务的方法,其特征在于,所述方法包括:
Kubernetes集群接收用户上传的服务配置信息;
所述Kubernetes集群指示代理控制器解析所述服务配置信息并生成第一pod配置信息和service配置信息,其中,所述代理控制器设置在集群中心侧;
所述Kubernetes集群调用云管组件,在云管组件的配合下基于所述service配置信息生成带有公网地址的service,并将所述service的后端指向所述第一pod配置信息;
所述Kubernetes集群根据所述第一pod配置信息运行代理服务器;
所述Kubernetes集群指示所述代理控制器根据所述公网地址和所述服务配置信息生成第二pod配置信息,并根据所述第二pod配置信息运行代理客户端,其中,所述代理客户端设置在集群边缘侧;
所述Kubernetes集群通过所述公网地址连接所述代理客户端和所述代理服务器,将所述边缘侧应用的端口通过所述代理客户端映射到所述公网地址的端口,并配置所述边缘侧应用与所述代理服务器之间的通路。
2.根据权利要求1所述的方法,其特征在于,所述Kubernetes集群调用云管组件,在云管组件的配合下基于所述service配置信息生成带有公网地址的service包括:
所述Kubernetes集群中的所述云管组件接收创建Service请求之后,调用云服务厂商的接口以创建所述公网地址;
所述Kubernetes集群将所述公网地址写入所述service配置信息并在更新后生成带有所述公网地址的所述service。
3.根据权利要求1所述的方法,其特征在于,所述Kubernetes集群根据所述第一pod配置信息运行代理服务器包括:
所述Kubernetes集群根据所述第一pod配置信息创建第一pod;
所述Kubernetes集群基于所述第一pod运行所述代理服务器,并通过所述service的公网地址提供所述代理服务器的访问通路。
4.根据权利要求1所述的方法,其特征在于,所述Kubernetes集群指示所述代理控制器根据所述公网地址和所述服务配置信息生成第二pod配置信息,并根据所述第二pod配置信息运行代理客户端包括:
所述代理控制器创建第二pod配置信息,并通过环境变量的方式将所述服务配置信息中服务公网端口、服务边缘侧端口、代理服务器端口和边缘侧应用IP写入所述第二pod配置信息中并将所述第二pod配置信息发送至Kubernetes集群;
所述Kubernetes集群根据所述第二pod配置信息创建第二pod,并基于所述第二pod运行所述代理客户端。
5.根据权利要求1所述的方法,其特征在于,所述Kubernetes集群根据所述第一pod配置信息和所述service配置信息运行代理服务器包括:
遍历所述Kubernetes集群环境,在所述服务配置信息中没有指定使用新的所述公网地址的情况下,所述Kubernetes集群直接复用现有的所述代理服务器;
在所述服务配置信息中指定使用新的所述公网地址的情况下,所述Kubernetes集群根据所述第一pod配置信息和所述service配置信息运行所述代理服务器。
6.根据权利要求1所述的方法,其特征在于,所述将所述边缘侧应用的端口通过所述代理客户端映射到所述公网地址的端口之后,所述方法还包括:
所述Kubernetes集群环境接收用户访问所述公网地址的网络流量;
调用负载均衡模块将所述网络流量转发到后端主机的TCP端口,所述后端主机中的kube-proxy模块通过写入iptables规则的方式,将所述网络流量转发到所述代理服务器;
所述代理客户端从所述代理服务器接收所述网络流量,将所述网络流量通过所述边缘侧应用的IP发送至所述边缘侧应用。
7.根据权利要求1至6中任一项所述的方法,其特征在于,
所述接收用户上传的所述服务配置信息包括:服务公网端口、服务边缘侧端口、代理服务器端口和边缘侧服务IP;
所述生成带有公网地址的service之后,所述代理控制器更新所述服务配置信息并将所述公网地址写入所述服务配置信息。
8.一种边缘节点对外暴露服务的系统,其特征在于,所述系统包括:Kubernetes集群和代理控制器;
所述Kubernetes集群用于接收用户上传的服务配置信息;
所述代理控制器用于解析所述服务配置信息并生成第一pod配置信息和service配置信息,其中,所述代理控制器设置在集群中心侧;
所述Kubernetes集群用于调用云管组件,在云管组件的配合下根据所述service配置信息生成带有公网地址的service,并将所述service的后端指向所述第一pod配置信息,或者,根据所述第一pod配置信息运行代理服务器;
所述代理控制器或者用于根据所述公网地址和所述服务配置信息生成第二pod配置信息,并根据所述第二pod配置信息运行代理客户端,其中,所述代理客户端设置在集群边缘侧;
所述Kubernetes集群还用于通过所述公网地址连接所述代理客户端和所述代理服务器,将所述边缘侧应用的端口通过所述代理客户端映射到所述公网地址的端口,并配置所述边缘侧应用与所述代理服务器之间的通路。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的一种边缘节点对外暴露服务的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的一种边缘节点对外暴露服务的方法。
CN202110408666.0A 2021-04-16 2021-04-16 一种边缘节点对外暴露服务的方法和系统 Active CN112822061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110408666.0A CN112822061B (zh) 2021-04-16 2021-04-16 一种边缘节点对外暴露服务的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110408666.0A CN112822061B (zh) 2021-04-16 2021-04-16 一种边缘节点对外暴露服务的方法和系统

Publications (2)

Publication Number Publication Date
CN112822061A true CN112822061A (zh) 2021-05-18
CN112822061B CN112822061B (zh) 2021-07-20

Family

ID=75862569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110408666.0A Active CN112822061B (zh) 2021-04-16 2021-04-16 一种边缘节点对外暴露服务的方法和系统

Country Status (1)

Country Link
CN (1) CN112822061B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500537A (zh) * 2022-03-24 2022-05-13 杭州博盾习言科技有限公司 容器服务的访问方法、系统、存储介质及电子设备
CN115242882A (zh) * 2022-09-20 2022-10-25 之江实验室 一种基于传输层路由访问k8s容器环境的方法及装置
WO2023056788A1 (en) * 2021-10-09 2023-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus for network exposure service continuity across edge data networks

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346576A1 (en) * 2012-06-25 2013-12-26 Delta Electronics, Inc. Cloud server for managing hostnames and ip addresses, and management method for the cloud server
CN109067914A (zh) * 2018-09-20 2018-12-21 星环信息科技(上海)有限公司 Web服务的代理方法、装置、设备及存储介质
CN111522543A (zh) * 2020-04-16 2020-08-11 科大国创云网科技有限公司 一种可视化应用组件编排方法及系统
CN112202940A (zh) * 2020-10-27 2021-01-08 杭州朗澈科技有限公司 一种kubernetes对外暴露Pod服务方式
CN112256425A (zh) * 2020-10-19 2021-01-22 聚好看科技股份有限公司 负载均衡方法及系统、计算机集群、信息编辑方法及终端
CN112448856A (zh) * 2021-01-28 2021-03-05 杭州朗澈科技有限公司 一种内网kubernetes对外提供公网访问的方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346576A1 (en) * 2012-06-25 2013-12-26 Delta Electronics, Inc. Cloud server for managing hostnames and ip addresses, and management method for the cloud server
CN109067914A (zh) * 2018-09-20 2018-12-21 星环信息科技(上海)有限公司 Web服务的代理方法、装置、设备及存储介质
CN111522543A (zh) * 2020-04-16 2020-08-11 科大国创云网科技有限公司 一种可视化应用组件编排方法及系统
CN112256425A (zh) * 2020-10-19 2021-01-22 聚好看科技股份有限公司 负载均衡方法及系统、计算机集群、信息编辑方法及终端
CN112202940A (zh) * 2020-10-27 2021-01-08 杭州朗澈科技有限公司 一种kubernetes对外暴露Pod服务方式
CN112448856A (zh) * 2021-01-28 2021-03-05 杭州朗澈科技有限公司 一种内网kubernetes对外提供公网访问的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUNIOR1206: "通过Service访问Pod、Service IP原理、DNS访问Service、外网访问Service", 《CSDN HTTPS://BLOG.CSDN.NET/COJN52/ARTICLE/DETAILS/111354399》 *
高登云: "面向智能家居的轻量级雾计算架构研究", 《中国优秀硕士学位论文全文数据库 工程科技II辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023056788A1 (en) * 2021-10-09 2023-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus for network exposure service continuity across edge data networks
CN114500537A (zh) * 2022-03-24 2022-05-13 杭州博盾习言科技有限公司 容器服务的访问方法、系统、存储介质及电子设备
CN115242882A (zh) * 2022-09-20 2022-10-25 之江实验室 一种基于传输层路由访问k8s容器环境的方法及装置

Also Published As

Publication number Publication date
CN112822061B (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
CN112822061B (zh) 一种边缘节点对外暴露服务的方法和系统
US10341251B2 (en) Method and system for securely transmitting volumes into cloud
US11611481B2 (en) Policy management method and system, and apparatus
US10581993B2 (en) Method for forwarding traffic in application on mobile intelligent terminal
JP2020096357A (ja) コンテナオーケストレーションサービスを使用した動的ルーティング
CN107710695B (zh) 一种访问家庭网络附加存储设备的方法、对应装置及系统
CN114281263B (zh) 容器集群管理系统的存储资源处理方法、系统和设备
CN113141405A (zh) 服务访问方法、中间件系统、电子设备和存储介质
CN113507516A (zh) 文件服务方法、接入服务器、计算机设备和存储介质
CN113268308B (zh) 信息处理方法、装置以及存储介质
CN112423281A (zh) 无线模组升级方法、装置、计算机设备和存储介质
CN111770176A (zh) 流量调度方法及装置
CN114285659A (zh) 一种反向代理方法、装置、设备及存储介质
CN112702362B (zh) Tcp/ip协议栈的增强方法、装置、电子设备及存储介质
CN106254411A (zh) 用于提供服务的系统、服务器系统及方法
US10558726B2 (en) Method and apparatus for executing application
CN113726902B (zh) 微服务的调用方法、系统、服务器、设备和存储介质
CN113225440B (zh) 一种云通信网络切片的管理方法、计算机设备及存储介质
CN113093995A (zh) 一种云盘数据的迁移方法和系统
US20170116016A1 (en) Screen compression service method and virtual network apparatus for performing the method
CN114760360A (zh) 请求响应方法、装置、电子设备及计算机可读存储介质
KR20130070489A (ko) 개방형 모바일 클라우드를 위한 협업 미들웨어 장치 및 서비스 방법
CN115915289A (zh) 计算任务的策略确定或资源分配方法、装置、网元及介质
KR20190062801A (ko) oneM2M 기반 데이터 관제 API 구성 방법
US20230047320A1 (en) Conditional role decision based on source environments

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220726

Address after: 100094 Room 502, floor 5, building 16, East District, yard 10, northwest Wangdong Road, Haidian District, Beijing

Patentee after: Softcom power information technology (Group) Co.,Ltd.

Address before: 311100 Room 802, building 12, 1818-2, Wenyi West Road, Yuhang street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU LANGCHE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220829

Address after: 518000 floor 2-24, building a, Zhongshe Plaza, No.1028, Buji Road, Dongxiao street, Luohu District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Softcom Power Information Technology Co.,Ltd.

Address before: 100094 Room 502, floor 5, building 16, East District, yard 10, northwest Wangdong Road, Haidian District, Beijing

Patentee before: Softcom power information technology (Group) Co.,Ltd.