一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多集群环境下应用服务的对外暴露方法和装置与流程

2022-12-19 21:09:23 来源:中国专利 TAG:
1.本发明涉及计算机
技术领域
:,尤其涉及一种多集群环境下应用服务的对外暴露方法和装置。
背景技术
::2.部署在kubernetes集群上的应用一般都是运行在kubernetes集群的私有网络上,因此需要对外提供服务暴露方式以接收外部访问。目前,对kubernetes集群外部提供服务访问时一般有下面几种方式:3.1、基于kubernetes集群的nodeport(节点端口)和loadbalancer(负载均衡)类型的服务,这种方式通过ip地址 端口的方式暴露服务;4.2、借助第三方的ingress(是对集群中服务的外部访问进行管理的api接口对象)控制器,通过域名的方式暴露服务。5.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:6.对于基于nodeport和loadbalancer的两种服务暴露方式,用户通过ip地址 端口的方式访问服务,可能会出现单点故障,而导致无法访问服务,而且loadbalancer方式一般只有云厂商才提供该能力。借助ingress提供服务暴露的方法,需要为每个kubernetes集群申请一个泛域名,而一个泛域名只能解析到一个kubernetes集群,因此无法适用于多集群场景。技术实现要素:7.有鉴于此,本发明实施例提供一种多集群环境下应用服务的对外暴露方法和装置,能够在多kubernetes集群环境部署应用后,自动为应用服务生成对外暴露的访问域名,能够在kubernetes集群外通过访问域名访问部署的应用,避免了出现单点故障而导致无法访问服务的情况发生,使得对应用服务的访问更灵活、方便、高效。8.为实现上述目的,根据本发明实施例的一个方面,提供了一种多集群环境下应用服务的对外暴露方法,包括:9.响应于应用部署操作,在所述应用的命名空间下创建定制资源,所述定制资源包括所述应用对外暴露的服务信息;10.响应于监听到所述定制资源的创建事件,根据所述服务信息生成应用服务的访问域名;11.将所述访问域名注册到域名解析器中,并将所述访问域名保存到所述定制资源中,以通过所述访问域名进行所述应用服务的对外暴露。12.可选地,在所述应用的命名空间下创建定制资源,包括:在所述应用的命名空间下添加定制资源配置文件,所述定制资源配置文件包括生成定制资源所需的服务信息;根据所述应用对外暴露的服务信息和所述定制资源配置文件创建定制资源。13.可选地,所述服务信息包括服务名、服务对应的节点端口信息、服务在集群中所属的命名空间信息、集群标识;根据所述服务信息生成应用服务的访问域名,包括:将所述服务名、服务在集群中所属的命名空间信息、集群标识、泛域名后缀和服务对应的节点端口信息,按照设定的域名格式进行拼接生成应用服务的访问域名,其中,所述泛域名后缀是与所述域名解析器相关联的泛域名的后缀。14.可选地,将所述访问域名注册到域名解析器中,包括:将部署服务的集群的访问地址和节点端口信息与访问域名的映射关系,按照集群标识和定制资源标识为标记注册到域名解析器中。15.可选地,将所述访问域名保存到所述定制资源中,包括:将所述访问域名和所述服务信息保存到所述定制资源的状态字段中。16.可选地,所述方法还包括:响应于监听到所述定制资源的删除事件,删除所述定制资源,并根据集群标识和定制资源标识从所述域名解析器中查找与所述定制资源相关的映射关系记录,并删除所述映射关系记录。17.根据本发明实施例的另一方面,提供了一种多集群环境下应用服务的对外暴露装置,包括:18.定制资源创建模块,用于响应于应用部署操作,在所述应用的命名空间下创建定制资源,所述定制资源包括所述应用对外暴露的服务信息;19.访问域名生成模块,用于响应于监听到所述定制资源的创建事件,根据所述服务信息生成应用服务的访问域名,并将所述访问域名注册到域名解析器中;20.访问域名发布模块,用于将所述访问域名注册到域名解析器中,并将所述访问域名保存到所述定制资源中,以通过所述访问域名进行所述应用服务的对外暴露。21.可选地,所述定制资源创建模块还用于:在所述应用的命名空间下添加定制资源配置文件,所述定制资源配置文件包括生成定制资源所需的服务信息;根据所述应用对外暴露的服务信息和所述定制资源配置文件创建定制资源。22.可选地,所述服务信息包括服务名、服务对应的节点端口信息、服务在集群中所属的命名空间信息、集群标识;所述访问域名生成模块还用于:将所述服务名、服务在集群中所属的命名空间信息、集群标识、泛域名后缀和服务对应的节点端口信息,按照设定的域名格式进行拼接生成应用服务的访问域名,其中,所述泛域名后缀是与所述域名解析器相关联的泛域名的后缀。23.可选地,所述访问域名生成模块还用于:将部署服务的集群的访问地址和节点端口信息与访问域名的映射关系,按照集群标识和定制资源标识为标记注册到域名解析器中。24.可选地,所述访问域名发布模块还用于:将所述访问域名和所述服务信息保存到所述定制资源的状态字段中。25.可选地,还包括域名删除模块,用于:响应于监听到所述定制资源的删除事件,删除所述定制资源,并根据集群标识和定制资源标识从所述域名解析器中查找与所述定制资源相关的映射关系记录,并删除所述映射关系记录。26.根据本发明实施例的又一方面,提供了一种多集群环境下应用服务的对外暴露电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的多集群环境下应用服务的对外暴露方法。27.根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的多集群环境下应用服务的对外暴露方法。28.上述发明中的一个实施例具有如下优点或有益效果:通过响应于应用部署操作,在应用的命名空间下创建定制资源,定制资源包括应用对外暴露的服务信息;响应于监听到定制资源的创建事件,根据服务信息生成应用服务的访问域名;将访问域名注册到域名解析器中,并将访问域名保存到定制资源中,以通过访问域名进行应用服务的对外暴露的技术方案,通过定制资源来维护应用对外暴露的服务信息,通过监听定制资源以根据服务信息生成域名,并将域名注册到域名解析器中,可以将域名解析到对应的集群上,实现了在kubernetes集群外通过域名访问集群内的应用服务。在多kubernetes集群环境部署应用后,自动为应用服务生成对外暴露的访问域名,能够在kubernetes集群外通过访问域名访问部署的应用,避免了出现单点故障而导致无法访问服务的情况发生,使得对应用服务的访问更灵活、方便、高效。29.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明30.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:31.图1是根据本发明实施例的多集群环境下应用服务的对外暴露方法的主要步骤示意图;32.图2是本发明一个实施例的生成应用服务的对外暴露方式的过程示意图;33.图3是本发明一个实施例的基于域名的应用服务访问流程示意图;34.图4是根据本发明实施例的多集群环境下应用服务的对外暴露装置的主要模块示意图;35.图5是本发明实施例可以应用于其中的示例性系统架构图;36.图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式37.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。38.本发明技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。39.为了解决现有技术中存在的技术问题,本发明实施例提供了一种多集群环境下应用服务的对外暴露方法,在多kubernetes集群环境部署应用后,自动为应用服务生成对外暴露的访问域名,使能够在kubernetes集群外通过访问域名访问部署的应用。本发明的技术方案适用于有一个或多个kubernetes集群的环境,部署在各集群上的应用通过域名对外暴露访问方式。在本发明的技术方案中提到的应用,默认已经提供了nodeport(节点端口)类型的服务。40.在本发明的实施例介绍中,所涉及的技术术语及其释义如下:41.kubernetes:google开源的一种容器编排工具,目前在容器编排领域比较流行,简记作k8s;42.crd:全称是customresourcedefinition,它是kubernetes内置的原生的一种资源类型,它允许用户在kubernetes中添加一个自定义的api资源类型,即:自定义资源的定义;43.cr:全称是customresource,是按照crd自定义的一个具体资源;44.泛域名:利用通配符*(星号)来做次级域名,以实现所有的次级域名均指向同一ip地址。例如:*.demo.com解析到111.1.1.1,则所有以.demo.com结尾的域名都会解析到111.1.1.1上;45.pod:kubernetes进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于pod中。pod可以认为是容器的封装,一个pod中可以存在一个或者多个容器;46.service:将运行在一组pods上的应用程序公开为网络服务的抽象方法,将代理客户端发来的请求转到后端一组pod中的一个上。47.图1是根据本发明实施例的多集群环境下应用服务的对外暴露方法的主要步骤示意图。如图1所示,本发明实施例的多集群环境下应用服务的对外暴露方法主要包括如下的步骤s101至步骤s103。48.步骤s101:响应于应用部署操作,在应用的命名空间下创建定制资源,定制资源包括应用对外暴露的服务信息。当需要在kubernetes集群中部署应用时,在应用的命名空间namespace下,创建一个用于进行服务访问方式暴露的定制资源cr(是k8s中的定制资源),在定制资源cr中记录应用需要暴露的节点端口nodeport类型的服务信息,服务信息至少包括服务名name、服务对应的节点端口信息nodeport、服务在集群中所属的命名空间信息namespace、集群标识clusterid等几个部分。49.根据本发明的一个实施例,在应用的命名空间下创建定制资源,具体可以包括:在应用的命名空间下添加定制资源配置文件,该定制资源配置文件包括生成定制资源所需的服务信息;根据应用对外暴露的服务信息和定制资源配置文件创建定制资源。在本发明的实施例中,定制资源配置文件例如是crd,crd中定义了一个定制资源cr构建时所需要的参数、参数形式,以及如何根据这些参数来生成定制资源cr的相关规则,等。在本发明的实施例中,可以预先定义一个用于进行服务暴露的crd,并把这种定制资源的定义crd(类似于表结构)添加到kubernetes集群中,使能够创建这种类型的定制资源。kubernetes中crd的规范包括apiversion、kind、metadata、spec、status等字段。spec字段中描述想要定制的资源的类型、名称、版本号以及涉及的具体数据结构。在crd的spec字段中定义一个数组,数组中记录服务信息,每条服务信息至少包含服务的服务名name、节点端口信息nodeport、命名空间信息namespace、集群标识clusterid四个要素。crd的status字段中定义一个数组,数组中记录服务的四个要素及生成的访问域名。50.步骤s102:响应于监听到定制资源的创建事件,根据服务信息生成应用服务的访问域名。在本发明的实施例中,在每个kubernetes集群中部署了域名控制器,用于监听对定制资源cr的操作事件,并根据cr中的服务信息生成与cr关联的访问域名,并将生成的访问域名注册到域名解析器中。域名解析器用于存储及解析域名,能够记录域名信息,并对域名进行解析,通过域名解析器可以将通过域名的访问请求路由到对应的应用服务。在本发明的实施例中,通过集群中部署的域名控制器来监听定制资源的操作事件。当在集群中部署应用时,会监听到定制资源的创建事件。相应地,在其他场景下,也可监听到定制资源的更新事件或者删除事件,等等。51.根据本发明的其中一个实施例,根据服务信息生成应用服务的访问域名,具体可以包括:将服务名、服务在集群中所属的命名空间信息、集群标识、泛域名后缀和服务对应的节点端口信息,按照设定的域名格式进行拼接生成应用服务的访问域名,其中,泛域名后缀是与域名解析器相关联的泛域名的后缀。其中,泛域名的后缀指的是泛域名中*以后的部分。在本发明的实施例中,为了实现在多集群中部署应用,可以通过一个外部可解析的泛域名,来将访问同一应用的请求都转发到与泛域名相关联的域名解析器中,并通过域名解析器将请求转发到对应的集群中。52.在本发明的一个实施例中,预先设定的域名格式例如是:name.namespace.clusterid.《泛域名后缀》:nodeport格式。在根据服务信息生成应用服务的访问域名时,具体是将服务名name、命名空间信息namespace、集群标识clusterid、泛域名后缀和节点端口信息nodeport按照该域名格式进行顺序拼接后生成的。53.步骤s103:将访问域名注册到域名解析器中,并将访问域名保存到定制资源中,以通过访问域名进行应用服务的对外暴露。在生成访问域名后,还将访问域名回写到定制资源cr中,以使用户通过cr来获取到访问域名,通过访问域名进行应用服务的对外暴露。54.根据本发明的一个实施例,在将访问域名注册到域名解析器中时,具体可以包括:将部署服务的集群的访问地址和节点端口信息与访问域名的映射关系,按照集群标识和定制资源标识为标记注册到域名解析器中。其中,部署服务的集群的访问地址即为集群的ip地址,定制资源标识例如是定制资源名称等。在本发明的实施例中,例如是将当前kubernete集群的ip nodeport与访问域名的映射关系,按照集群标识clusterid cr名称为标记注册或更新到域名解析器中。55.根据本发明的一个实施例,将访问域名保存到定制资源中时,具体可以是将访问域名和服务信息保存到定制资源的状态字段中,即将访问域名和服务信息保存到cr的status字段中。56.根据本发明的其中一个实施例,还可以包括:响应于监听到定制资源的删除事件,删除该定制资源,并根据集群标识和定制资源标识从域名解析器中查找与该定制资源相关的映射关系记录,并删除该映射关系记录。当集群中部署的域名控制器监听到定制资源的删除事件时,将直接删除该定制资源,并从域名解析器中查找与该定制资源相关的访问域名等信息,并删除相应的记录。57.根据本发明的实施例,若监听到定制资源的更新事件,则根据更新事件所对应的服务信息重新生成应用服务的访问域名,并使用新生成的访问域名来替换之前的访问域名,并注册到域名解析器中;将新生成的访问域名保存到定制资源中,以更新定制资源。58.图2是本发明一个实施例的生成应用服务的对外暴露方式的过程示意图。如图2所示,本发明的实施例中,需要依赖一个外部可解析的泛域名,且在每个kubernetes集群中都部署了域名控制器。在kubernetes集群外部署了域名解析器,域名解析器与各kubernetes集群节点的网络可以联通,泛域名解析域名到域名解析器上。其中,域名控制器能够监听用于进行服务暴露的定制资源cr,并根据cr中的服务service信息生成与之关联的访问域名,并将访问域名注册到域名解析器。域名解析器,域名存储及解析管理器,能够记录域名信息,并对域名进行解析。当在多集群中进行应用部署时,在每个集群中部署应用的namespace下创建一个定制资源cr,cr中记录应用需要暴露的服务信息。集群的域名控制器监听到定制资源创建事件后,根据cr中的服务信息生成访问域名,并将访问域名回写到cr中,同时将访问域名注册到域名解析器中。其中,域名解析器与泛域名相关联。59.图3是本发明一个实施例的基于域名的应用服务访问流程示意图。如图3所示,在本发明的一个实施例中,应用服务的使用方通过域名 端口的方式访问应用服务。在访问应用服务时,请求先发送到泛域名上,泛域名将请求转发到域名解析器,域名解析器根据域名与“集群ip nodeport”的映射关系,将请求转发到相应的kubernetes集群节点上,再根据iptables规则将请求转发到应用所在的pod中,其中,kubernetes集群中各节点上的pod之间通信,可借助linux的iptables规则实现。60.图4是根据本发明实施例的多集群环境下应用服务的对外暴露装置的主要模块示意图。如图4所示,本发明实施例的多集群环境下应用服务的对外暴露装置400主要包括定制资源创建模块401、访问域名生成模块402和访问域名发布模块403。61.定制资源创建模块401,用于响应于应用部署操作,在所述应用的命名空间下创建定制资源,所述定制资源包括所述应用对外暴露的服务信息;62.访问域名生成模块402,用于响应于监听到所述定制资源的创建事件,根据所述服务信息生成应用服务的访问域名;63.访问域名发布模块403,用于将所述访问域名注册到域名解析器中,并将所述访问域名保存到所述定制资源中,以通过所述访问域名进行所述应用服务的对外暴露。64.根据本发明的一个实施例,定制资源创建模块401还可以用于:在所述应用的命名空间下添加定制资源配置文件,所述定制资源配置文件包括生成定制资源所需的服务信息;根据所述应用对外暴露的服务信息和所述定制资源配置文件创建定制资源。65.根据本发明的另一个实施例,所述服务信息包括服务名、服务对应的节点端口信息、服务在集群中所属的命名空间信息、集群标识;所述访问域名生成模块还用于:将所述服务名、服务在集群中所属的命名空间信息、集群标识、泛域名后缀和服务对应的节点端口信息,按照设定的域名格式进行拼接生成应用服务的访问域名,其中,所述泛域名后缀是与所述域名解析器相关联的泛域名的后缀。66.根据本发明的又一个实施例,访问域名生成模块402还可以用于:将部署服务的集群的访问地址和节点端口信息与访问域名的映射关系,按照集群标识和定制资源标识为标记注册到域名解析器中。67.根据本发明的又一个实施例,访问域名发布模块403还可以用于:将所述访问域名和所述服务信息保存到所述定制资源的状态字段中。68.根据本发明的又一个实施例,本发明实施例的多集群环境下应用服务的对外暴露装置400还包括域名删除模块(图中未示出),用于:响应于监听到所述定制资源的删除事件,删除所述定制资源,并根据集群标识和定制资源标识从所述域名解析器中查找与所述定制资源相关的映射关系记录,并删除所述映射关系记录。69.根据本发明实施例的技术方案,通过响应于应用部署操作,在应用的命名空间下创建定制资源,定制资源包括应用对外暴露的服务信息;响应于监听到定制资源的创建事件,根据服务信息生成应用服务的访问域名;将访问域名注册到域名解析器中,并将访问域名保存到定制资源中,以通过访问域名进行应用服务的对外暴露的技术方案,通过定制资源来维护应用对外暴露的服务信息,通过监听定制资源以根据服务信息生成域名,并将域名注册到域名解析器中,可以将域名解析到对应的集群上,实现了在kubernetes集群外通过域名访问集群内的应用服务。在多kubernetes集群环境部署应用后,自动为应用服务生成对外暴露的访问域名,能够在kubernetes集群外通过访问域名访问部署的应用,避免了出现单点故障而导致无法访问服务的情况发生,使得对应用服务的访问更灵活、方便、高效。70.图5示出了可以应用本发明实施例的多集群环境下应用服务的对外暴露方法或多集群环境下应用服务的对外暴露装置的示例性系统架构500。71.如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。72.用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如数据监听类应用、域名解析类应用、数据集群、应用部署类应用等(仅为示例)。73.终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。74.服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所发来的应用部署操作提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的应用服务对外暴露请求等数据进行响应于应用部署操作,在所述应用的命名空间下创建定制资源,所述定制资源包括所述应用对外暴露的服务信息;响应于监听到所述定制资源的创建事件,根据所述服务信息生成应用服务的访问域名;将所述访问域名注册到域名解析器中,并将所述访问域名保存到所述定制资源中,以通过所述访问域名进行所述应用服务的对外暴露等处理,并将处理结果(例如访问域名‑‑仅为示例)反馈给终端设备。75.需要说明的是,本发明实施例所提供的多集群环境下应用服务的对外暴露方法一般由服务器505执行,相应地,多集群环境下应用服务的对外暴露装置一般设置于服务器505中。76.应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。77.下面参考图6,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统600的结构示意图。图6示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。78.如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。79.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。80.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本发明的系统中限定的上述功能。81.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。82.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。83.描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括定制资源创建模块、访问域名生成模块和访问域名发布模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,定制资源创建模块还可以被描述为“用于响应于应用部署操作,在所述应用的命名空间下创建定制资源的模块”。84.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:响应于应用部署操作,在所述应用的命名空间下创建定制资源,所述定制资源包括所述应用对外暴露的服务信息;响应于监听到所述定制资源的创建事件,根据所述服务信息生成应用服务的访问域名;将所述访问域名注册到域名解析器中,并将所述访问域名保存到所述定制资源中,以通过所述访问域名进行所述应用服务的对外暴露。85.根据本发明实施例的技术方案,通过响应于应用部署操作,在应用的命名空间下创建定制资源,定制资源包括应用对外暴露的服务信息;响应于监听到定制资源的创建事件,根据服务信息生成应用服务的访问域名;将访问域名注册到域名解析器中,并将访问域名保存到定制资源中,以通过访问域名进行应用服务的对外暴露的技术方案,通过定制资源来维护应用对外暴露的服务信息,通过监听定制资源以根据服务信息生成域名,并将域名注册到域名解析器中,可以将域名解析到对应的集群上,实现了在kubernetes集群外通过域名访问集群内的应用服务。在多kubernetes集群环境部署应用后,自动为应用服务生成对外暴露的访问域名,能够在kubernetes集群外通过访问域名访问部署的应用,避免了出现单点故障而导致无法访问服务的情况发生,使得对应用服务的访问更灵活、方便、高效。86.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献