CN117076038A - 镜像构建方法、装置、电子设备及存储介质 - Google Patents
镜像构建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117076038A CN117076038A CN202210501920.6A CN202210501920A CN117076038A CN 117076038 A CN117076038 A CN 117076038A CN 202210501920 A CN202210501920 A CN 202210501920A CN 117076038 A CN117076038 A CN 117076038A
- Authority
- CN
- China
- Prior art keywords
- big data
- data client
- airflow
- target container
- configuration information
- 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.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 62
- 238000013507 mapping Methods 0.000 claims abstract description 118
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000007726 management method Methods 0.000 description 23
- 240000000797 Hibiscus cannabinus Species 0.000 description 16
- 235000002905 Rumex vesicarius Nutrition 0.000 description 16
- 241000380131 Ammophila arenaria Species 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,提供一种镜像构建方法、装置、电子设备及存储介质。所述方法包括:获取airflow初始镜像;将airflow初始镜像部署在目标容器中,生成kubernetes平台与目标容器的映射关系;基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中,根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。通过kubernetes平台与目标容器的映射关系,构建airflow目标镜像,提高了airflow镜像的构建效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种镜像构建方法、装置、电子设备及存储介质。
背景技术
目前,很多企业采用微服务架构(例如k8s+容器架构),其中,微服务架构是一种在云中部署应用和服务的技术。在微服务架构中,经常会用到airflow,airflow是一种可编程、调度和监控的工作流平台。并且为了更好的使airflow适应微服务架构,需要将airflow制作成镜像。
airflow在执行大数据相关任务时,需要在airflow中安装大数据客户端。相关技术中,在airflow中安装大数据客户端的方法是直接将大数据客户端集成到镜像中。
但是,一旦大数据客户端中的配置有所变动,airflow镜像就需要重新构建,airflow镜像的构建过程十分繁琐。因此,在执行大数据相关任务时,如何提高airflow镜像的构建效率,满足复杂多变的使用需求是目前迫切需要解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种镜像构建方法、装置、电子设备及存储介质。
本发明提供一种镜像构建方法,包括:
获取airflow初始镜像;
将所述airflow初始镜像部署在目标容器中,生成所述kubernetes平台与所述目标容器的映射关系,其中,所述目标容器为所述kubernetes平台管理的任一容器;
基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中;
根据所述airflow初始镜像、所述第一大数据客户端目录以及所述第一大数据客户端组件的环境配置信息生成airflow目标镜像。
可选地,所述第一大数据客户端组件包括以下至少一项:
数据仓库hive;
分布式应用程序协调服务zookeeper。
可选地,所述第一大数据客户端组件还包括计算引擎spark;
在所述基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中之后,还包括:
在接收到计算引擎调用指令的情况下,获取所述计算引擎spark的环境配置信息以及所述计算引擎spark对应的数据仓库hive的jar包;
将所述计算引擎spark的环境配置信息以及所述jar包映射至所述目标容器中。
可选地,在所述基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中之后,还包括:
获取第一大数据客户端环境变量;
将所述第一大数据客户端环境变量添加至所述目标容器中。
可选地,所述方法还包括:
在接收到大数据客户端替换指令的情况下,基于所述映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中;
根据所述airflow初始镜像、所述第二大数据客户端目录以及所述第二大数据客户端组件的环境配置信息生成airflow更新目标镜像。
可选地,在所述基于所述映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中之后,还包括:
获取第二大数据客户端环境变量;
将所述第二大数据客户端环境变量添加至所述目标容器中。
本发明还提供一种镜像构建装置,包括:
获取模块,用于获取airflow初始镜像;
映射关系生成模块,用于将所述airflow初始镜像部署在目标容器中,生成所述kubernetes平台与所述目标容器的映射关系,其中,所述目标容器为所述kubernetes平台管理的任一容器;
第一映射模块,用于基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中;
目标镜像生成模块,用于根据所述airflow初始镜像、所述第一大数据客户端目录以及所述第一大数据客户端组件的环境配置信息生成airflow目标镜像。
可选地,所述装置还包括:
第二映射模块,用于在接收到大数据客户端替换指令的情况下,基于所述映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中;
更新目标镜像生成模块,用于根据所述airflow初始镜像、所述第二大数据客户端目录以及所述第二大数据客户端组件的环境配置信息生成airflow更新目标镜像。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述镜像构建方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述镜像构建方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述镜像构建方法。
本发明提供的镜像构建方法,通过将获取到的airflow初始镜像部署在目标容器中,并基于映射关系将第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中,并根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。通过kubernetes平台与目标容器的映射关系,完成airflow目标镜像的构建,有效地避免了由于大数据客户端中配置的变动而重复构建airflow镜像的问题,提高了airflow镜像的构建效率,满足了复杂多变的使用需求。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的镜像构建方法的流程示意图之一;
图2是本发明提供的镜像构建方法的流程示意图之二;
图3是本发明提供的镜像构建装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
airflow:是一种可编程、调度和监控的工作流平台;或者说是使用Python编写实现的任务管理、调度、监控工作流平台。airflow是一个提供基于DAG(有向无环图)来编排工作流的、可视化的分布式任务调度平台,该平台采用Python语言编写,提供可编程方式定义DAG工作流,可以定义一组有依赖关系的任务,按照依赖关系依次执行,实现任务管理、调度、监控功能。
kubernetes:kubernetes简称k8s,是一个开源的,用于管理云平台中多个主机上的容器化的平台,该平台的目标是让部署容器化的应用简单并且高效。kubernetes支持自动化部署、大规模可伸缩、应用容器化管理;在kubernetes中,可以创建多个容器,每个容器里面运行一组应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而不需要运维人员进行复杂的配置和处理。
目前,airflow在执行大数据相关任务时,需要在airflow中安装大数据客户端。相关技术中,在airflow中安装大数据客户端的方法是直接将大数据客户端集成到镜像中。
但是,一旦大数据客户端中的配置有所变动,airflow镜像就需要重新构建,airflow镜像的构建过程十分繁琐。
基于上述问题,为了在执行大数据相关任务时,提高airflow镜像的构建效率,满足复杂多变的使用需求,本发明提供了一种镜像构建方法,本发明一个或多个实施例同时涉及一种镜像构建装置、一种电子设备、一种非暂态计算机可读存储介质及一种计算机程序产品。
下面结合图1对镜像构建方法进行详细说明。
参见图1,图1是本发明提供的镜像构建方法的流程示意图之一,具体包括步骤101-步骤104。
步骤101、获取airflow初始镜像。
在本实施例中,首先需要获取airflow初始镜像,其中,airflow是一种可编程、调度和监控的工作流平台;或者说是使用Python编写实现的任务管理、调度、监控工作流平台。
airflow初始镜像是指未安装大数据客户端的airflow镜像,获取airflow初始镜像的方式有多种,例如可以直接从airflow官网上下载一个airflow镜像,也可以直接从本地数据库中获取airflow初始镜像。本发明对airflow初始镜像的获取方法不做限定。
步骤102、将airflow初始镜像部署在目标容器中,生成kubernetes平台与目标容器的映射关系,其中,目标容器为kubernetes平台管理的任一容器。
在本实施例中,kubernetes平台用于管理多个容器,在获取到airflow初始镜像后,需要将airflow初始镜像部署在kubernetes平台管理的任一容器中。
在实际应用中,可以利用Helm在kubernetes平台管理的任一容器中部署airflow初始镜像,其中,Helm是kubernetes的软件包管理器,能够快速查找、下载和安装软件包。Helm是由客户端组件helm和服务端组件Tiller组成,能够将一组kubernetes资源打包统一管理。
具体地,在kubernetes平台利用Helm执行如下指令“helm install--namespace“airflow”--name“airflow”stable/airflow”即可在kubernetes平台管理的任一容器中部署airflow初始镜像,部署成功之后,在airflow的namespace目录下会安装有airflow-web、airflow-scheduler、airflow-postgresql、airflow-flower、airflow-redis。
在将airflow初始镜像部署在目标容器中之后,kubernetes平台与部署airflow初始镜像的目标容器之间便会生成映射关系,也即,在kubernetes平台的信息会基于映射关系映射至容器中。
步骤103、基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中。
在本实施例中,在生成kubernetes平台与目标容器的映射关系之后,需要获取第一大数据客户端目录以及第一大数据客户端组件的环境配置信息,然后基于映射关系,将第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中。
在实际应用中,第一大数据客户端目录用于访问第一大数据客户端。一般地,第一大数据客户端目录安装在第一大数据客户端的管理节点上。
因此,需要从第一大数据客户端的管理节点处获取第一大数据客户端目录,并将获取到的第一大数据客户端目录存储至kubernetes平台的管理节点。然后,基于映射关系,将kubernetes平台管理节点中的第一大数据客户端目录映射至目标容器中。
以第一大数据客户端是Ambari大数据客户端为例,在Ambari中包含管理节点node1以及数据处理节点node2、node3等等,在kubernetes平台中包含管理节点master01以及数据处理节点work01、work02等等。
在生成kubernetes平台与目标容器的映射关系之后,需要从Ambari大数据客户端的管理节点node1处获取Ambari的大数据客户端目录,并将该大数据客户端目录存储至kubernetes平台的管理节点master01中。然后,基于映射关系,将master01中Ambari的大数据客户端目录映射至目标容器中。也即,在master01上执行Ambari大数据客户端目录拷贝指令“scp–rp node1:/usr/hdp/*/data-airflow/hdp/”。
在master01上执行拷贝指令后,基于映射关系,master01上/data-airflow/hdp目录中的数据,会映射到部署airflow初始镜像的目标容器内的/usr/hdp目录中。也就是说,基于映射关系,在部署airflow初始镜像的目标容器中的/usr/hdp目录中,也能找到与master01的/data-airflow/hdp/目录相同的数据,二者目录中的数据内容是共享的。
通过上述方法,即可将获取到的第一大数据客户端目录映射至目标容器中。
在本发明实施例一种可能的实现方式中,除了将第一大数据客户端目录映射至目标容器中之外,还需要将第一大数据客户端组件的环境配置信息映射至目标容器中。其中,第一大数据客户端组件的环境配置信息用于配置第一大数据客户端组件,第一大数据客户端组件基于环境配置信息能够正常运行。
具体地,第一大数据客户端组件包括以下至少一项:
a)数据仓库hive;
具体地,hive是基于Hadoop的一个数据仓库工具,用于数据提取、转化和加载。数据仓库hive能够将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能够将SQL语句转变成MapReduce任务执行,其中,MapReduce是一种编程模型,用于大规模数据集的并行运算。
b)分布式应用程序协调服务zookeeper。
具体地,zookeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
在实际应用中,以第一大数据客户端是Ambari大数据客户端为例,将Ambari组件的环境配置信息映射至目标容器,具体可以通过如下方式实现:
首先,需要从Ambari的管理节点node1处获取Ambari组件的环境配置信息,并将该环境配置信息存储至kubernetes平台的管理节点master01中。然后,基于映射关系,将master01中Ambari的环境配置信息映射至目标容器中。也即,在master01上执行环境配置信息拷贝指令,其中,环境配置信息拷贝指令如下:
“scp-rp node1:/etc/hadoop/*/data-airflow/etc/hadoop/
scp-rp node1:/etc/hive/*/data-airflow/etc/hive/
scp-rp node1:/etc/hive_llap/*/data-airflow/etc/hive_llap/
scp-rp node1:/etc/zookeeper/*/data-airflow/etc/zookeeper/”。
在master01上执行环境配置信息拷贝指令之后,便可实现将Ambari组件的环境配置信息映射至目标容器。
通过上述方法,基于kubernetes平台与目标容器的映射关系,可以将第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中,从而完成airflow目标镜像的构建。有效地避免了由于大数据客户端中配置的变动而重复构建airflow镜像的问题,提高了airflow镜像的构建效率,满足了复杂多变的使用需求。
步骤104、根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。
在本实施例中,在将第一大数据客户端目录以及第一大数据客户端组件的环境配置映射至目标容器之后,便可根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。
此时的airflow目标镜像中已构建完成,在目标容器中,即可基于airflow目标镜像调用第一大数据客户端。
可选地,在本发明实施例一种可能的实现方式中,在需要利用计算引擎spark对大规模的数据进行处理的情况下,计算引擎spark需要调用对应的数据仓库hive中的jar包,以便对数据进行处理。
因此,在本实施例中,第一大数据客户端组件还包括计算引擎spark;
在基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中之后,还包括:
在接收到计算引擎调用指令的情况下,获取计算引擎spark的环境配置信息以及计算引擎spark对应的数据仓库hive的jar包;
将计算引擎spark的环境配置信息以及jar包映射至目标容器中。
在本实施例中,计算引擎spark是专为大规模数据处理而设计的快速通用的计算引擎。
数据仓库hive的jar包是一个聚合大量java类文件、相关元数据和资源文件的数据包。当需要利用计算引擎spark对大规模的数据进行处理时,计算引擎spark便会调用对应的数据仓库hive中的jar包,以便对数据进行处理。
具体地,在接收到计算引擎调用指令的情况下,代表需要利用计算引擎spark对大规模的数据进行处理,因此需要获取计算引擎spark的环境配置信息以及计算引擎spark对应的数据仓库hive的jar包,并将该计算引擎spark的环境配置信息以及jar包存储至kubernetes平台的管理节点master01中。然后,基于映射关系,将master01中的计算引擎spark的环境配置信息以及jar包映射至目标容器中。
在实际应用中,仍以第一大数据客户端是Ambari为例,将计算引擎spark的环境配置信息以及jar包映射至目标容器,具体可以通过以下方式实现:
首先,需要从Ambari的管理节点node1处获取Ambari的计算引擎spark的环境配置信息,并将该环境配置信息存储至kubernetes平台的管理节点master01中。基于映射关系,将master01中Ambari的计算引擎spark的环境配置信息映射至目标容器中。也即,在master01上执行环境配置信息拷贝指令,其中,环境配置信息拷贝指令如下:
“scp-rp node1:/etc/spark2/*/data-airflow/etc/spark2/”
其次,在master01上执行jar包拷贝指令,其中,jar包拷贝指令如下:
“cp/data-airflow/hdp/3.1.0.0-78/hive/lib/hive-contrib-3.1.0.3.1.0.0-78.jar/data-airflow/hdp/3.1.0.0-78/spark2/jars/”。
在上述实施方式中,通过将计算引擎spark的环境配置信息以及计算引擎spark对应的数据仓库hive的jar包映射至目标容器中,从而使计算引擎spark能够对大规模的数据进行处理。
可选地,由于第一大数据客户端目录和第一大数据客户端组件的配置环境信息是基于映射关系,从kubernetes平台的管理节点master01映射至目标容器中的。因此,在目标容器中只能在固定的目录中调用第一大数据客户端目录和第一大数据客户端组件的环境配置信息。
因此,为了能够在目标容器的任一个目录都能够调用第一大数据客户端目录和第一大数据客户端组件的环境配置信息,还需要在基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中之后,执行以下步骤:
获取第一大数据客户端环境变量;
将第一大数据客户端环境变量添加至目标容器中。
具体地,第一大数据客户端环境变量用于在目标容器中的任一个目录中都能够调用第一大数据客户端目录和第一大数据客户端组件的环境配置信息。
具体地,第一大数据客户端环境变量包括以下至少一项:
a)第一大数据客户端目录;
具体地,第一大数据客户端目录用于访问第一大数据客户端。将第一大数据客户端目录添加至目标容器中,从而实现在目标容器的任一个目录都能够调用第一大数据客户端目录。
b)第一大数据客户端组件的环境配置信息;
第一大数据客户端组件的环境配置信息用于配置第一大数据客户端组件,第一大数据客户端组件基于环境配置信息能够正常运行。具体地,第一大数据客户端组件至少包括数据仓库hive;计算引擎spark;分布式应用程序协调服务zookeeper。
c)kerberos协议。
kerberos协议是一种网络认证协议,利用kerberos认证机制可以识别可靠的服务和节点,保障kubernetes平台的安全。
在本实施例中,获取第一大数据客户端环境变量的方式有多种,可以是执行用户输入的环境变量编辑指令,然后向用户展示环境变量编辑界面,以使用户编辑第一大数据客户端环境变量。也可以是直接从远端服务器中获取预设的第一大数据客户端环境变量,并将其添加至目标容器中。
具体地,例如,在kubernetes平台的管理节点master01上执行用户输入的环境变量编辑指令“kubectl edit cm-n data-platform data-airflow-env”,然后向用户展示环境变量界面,以使用户编辑第一大数据客户端环境变量,然后将用户输入的第一大数据客户端环境变量添加至目标容器中。
通过上述方法,将获取到的第一大数据客户端环境变量添加至目标容器中,能够在目标容器的任一个目录都能够调用第一大数据客户端目录和第一大数据客户端组件的环境配置信息,从而提高了airflow镜像构建的效率。
可选地,根据本发明提供的镜像构建方法所构建出的airflow目标镜像,还可以应用于不同的大数据客户端,针对不同的大数据客户端,无需重新构建airflow镜像,进而提高了airflow镜像的构建效率,满足了复杂多变的使用需求。
具体地,针对不同的大数据客户端进行airflow镜像的构建,可以通过以下方式实现:
在接收到大数据客户端替换指令的情况下,基于映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至目标容器中;
根据airflow初始镜像、第二大数据客户端目录以及第二大数据客户端组件的环境配置信息生成更新的airflow目标镜像。
在本实施例中,为了使airflow目标镜像能够应用于不同的大数据客户端,在接收到大数据客户端替换指令的情况下,需要基于kubernetes平台与目标容器之间的映射关系,将第二大数据客户端目录以及第二大数据客户端组件的环境配置映射至目标容器中。
具体地,以第二大数据客户端是FusionInsight(又称FI)大数据平台为例。首先需要从FI大数据客户端的管理节点处获取FI的大数据客户端目录,并将该大数据客户端目录存储至kubernetes平台的管理节点master01中。然后基于kubernetes平台与目标容器之间的映射关系,将master01中FI的大数据客户端目录映射至目标容器中。也即,在master01上执行FI大数据客户端目录拷贝指令“scp-rpnode1:/opt/client/*/data-airflow/client/”。
在master01上执行拷贝指令后,基于映射关系,master01上/data-airflow/client/目录中的数据,会映射到部署airflow初始镜像的目标容器内的/opt/client/目录中。也就是说,基于映射关系,在部署airflow初始镜像的目标容器中的/opt/client/目录中,也能找到与master01的/data-airflow/client/目录相同的数据,二者目录中的数据内容是共享的。
通过上述方法,即可将第二大数据客户端目录映射至目标容器中。
除了将第二大数据客户端目录映射至目标容器中之外,还需要将第二大数据客户端组件的环境配置信息映射至目标容器中。其中,第二大数据客户端组件的环境配置信息用于配置第二大数据客户端组件,第二大数据客户端组件基于环境配置信息能够正常运行。
具体地,第二大数据客户端组件包括以下至少一项:
a)数据仓库hive;
b)计算引擎spark;
c)分布式应用程序协调服务zookeeper。
通过上述方法,基于kubernetes平台与目标容器的映射关系,可以将第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中。针对不同的大数据客户端,只需要将目标容器内的映射路径修改为目标大数据平台对应的路径,即可实现大数据客户端的替换,无需重新构建airflow镜像,进而提高了airflow镜像的构建效率,满足了复杂多变的使用需求。
可选地,由于第二大数据客户端目录和第二大数据客户端组件的配置环境信息是基于映射关系,从kubernetes平台的管理节点master01映射至目标容器中的。因此,在目标容器中只能在固定的目录中调用第二大数据客户端目录和第二大数据客户端组件的环境配置信息。
因此,为了能够在目标容器的任一个目录都能够调用第二大数据客户端目录和第二大数据客户端组件的环境配置信息,还需要在基于映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至目标容器中之后,执行以下步骤:
获取第二大数据客户端环境变量;
将第二大数据客户端环境变量添加至目标容器中。
具体地,第二大数据客户端环境变量用于在目标容器中的任一个目录中都能够调用第二大数据客户端目录和第二大数据客户端组件的环境配置信息。
具体地,第二大数据客户端环境变量包括以下至少一项:
a)第二大数据客户端目录;
具体地,第二大数据客户端目录用于访问第二大数据客户端。将第二大数据客户端目录添加至目标容器中,从而实现在目标容器的任一个目录都能够调用第二大数据客户端目录。
b)第二大数据客户端组件的环境配置信息;
第二大数据客户端组件的环境配置信息用于配置第二大数据客户端组件,第二大数据客户端组件基于环境配置信息能够正常运行。具体地,第二大数据客户端组件至少包括数据仓库hive;计算引擎spark;分布式应用程序协调服务zookeeper。
c)kerberos协议。
kerberos协议是一种网络认证协议,利用kerberos认证机制可以识别可靠的服务和节点,保障kubernetes平台的安全。
通过上述方法,将获取到的第二大数据客户端环境变量添加至目标容器中,能够在目标容器的任一个目录都能够调用第二大数据客户端目录和第二大数据客户端组件的环境配置信息,从而提高了airflow镜像构建的效率。
本发明提供的镜像构建方法,通过将获取到的airflow初始镜像部署在目标容器中,并基于映射关系将第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中,并根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。通过kubernetes平台与目标容器的映射关系,完成airflow目标镜像的构建,有效地避免了由于大数据客户端中配置的变动而重复构建airflow镜像的问题,提高了airflow镜像的构建效率,满足了复杂多变的使用需求。
下述结合图2,以本发明提供的镜像构建方法在针对不同的大数据客户端进行airflow镜像构建的应用为例,对镜像构建方法进行进一步说明。参见图2,是2是本发明提供的镜像构建方法的流程示意图之二。
步骤201、获取airflow初始镜像。
步骤202、将airflow初始镜像部署在目标容器中,生成kubernetes平台与目标容器的映射关系,其中,目标容器为kubernetes平台管理的任一容器。
步骤203、基于映射关系,将获取到的第一大数据客户端目录以及数据仓库hive和分布式应用程序协调服务zookeeper的环境配置信息映射至目标容器中。
步骤204、获取计算引擎spark的环境配置信息以及计算引擎spark对应的数据仓库hive的jar包;将计算引擎spark的环境配置信息以及jar包映射至目标容器中。
步骤205、获取第一大数据客户端环境变量;将第一大数据客户端环境变量添加至目标容器中。
步骤206、根据airflow初始镜像、第一大数据客户端目录、数据仓库hive的环境配置信息、分布式应用程序协调服务zookeeper的环境配置信息、计算引擎spark的环境配置信息、jar包以及第一大数据客户端环境变量生成airflow目标镜像。
在接收到大数据客户端替换指令的情况下,执行步骤207-209。
步骤207、基于映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至目标容器中。
步骤208、获取第二大数据客户端环境变量;将第二大数据客户端环境变量添加至目标容器中。
步骤209、根据airflow初始镜像、第二大数据客户端目录、第二大数据客户端组件的环境配置信息及第二大数据客户端环境变量生成airflow更新目标镜像。
本发明提供的镜像构建方法,通过将获取到的airflow初始镜像部署在目标容器中,并基于映射关系将第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中,并根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。通过kubernetes平台与目标容器的映射关系,完成airflow目标镜像的构建,有效地避免了由于大数据客户端中配置的变动而重复构建airflow镜像的问题,提高了airflow镜像的构建效率,满足了复杂多变的使用需求。
下面对本发明提供的镜像构建装置进行描述,下文描述的镜像构建装置与上文描述的镜像构建方法可相互对应参照。参见图3,图3是本发明提供的镜像构建装置的结构示意图。
获取模块301,用于获取airflow初始镜像;
映射关系生成模块302,用于将airflow初始镜像部署在目标容器中,生成kubernetes平台与目标容器的映射关系,其中,目标容器为kubernetes平台管理的任一容器;
第一映射模块303,用于基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中;
目标镜像生成模块304,用于根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。
可选地,第一大数据客户端组件包括以下至少一项:
数据仓库hive;
分布式应用程序协调服务zookeeper。
可选地,第一大数据客户端组件还包括计算引擎spark;
映射模块303,进一步用于:
在接收到计算引擎调用指令的情况下,获取计算引擎spark的环境配置信息以及计算引擎spark对应的数据仓库hive的jar包;
将计算引擎spark的环境配置信息以及jar包映射至目标容器中。
可选地,映射模块303,进一步用于:
获取第一大数据客户端环境变量;
将第一大数据客户端环境变量添加至目标容器中。
可选地,所述装置还包括:
第二映射模块,用于在接收到大数据客户端替换指令的情况下,基于映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中;
更新目标镜像生成模块,用于根据airflow初始镜像、第二大数据客户端目录以及第二大数据客户端组件的环境配置信息生成airflow更新目标镜像。
可选地,更新目标镜像生成模块,进一步用于:
获取第二大数据客户端环境变量;
将第二大数据客户端环境变量添加至目标容器中。
本发明提供的镜像构建装置,通过将获取到的airflow初始镜像部署在目标容器中,并基于映射关系将第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中,并根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。通过kubernetes平台与目标容器的映射关系,完成airflow目标镜像的构建,有效地避免了由于大数据客户端中配置的变动而重复构建airflow镜像的问题,提高了airflow镜像的构建效率,满足了复杂多变的使用需求。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行镜像构建方法,该方法包括:获取airflow初始镜像;将airflow初始镜像部署在目标容器中,生成kubernetes平台与目标容器的映射关系,其中,目标容器为kubernetes平台管理的任一容器;基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中;根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的镜像构建方法,该方法包括:获取airflow初始镜像;将airflow初始镜像部署在目标容器中,生成kubernetes平台与目标容器的映射关系,其中,目标容器为kubernetes平台管理的任一容器;基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中;根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的镜像构建方法,该方法包括:获取airflow初始镜像;将airflow初始镜像部署在目标容器中,生成kubernetes平台与目标容器的映射关系,其中,目标容器为kubernetes平台管理的任一容器;基于映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至目标容器中;根据airflow初始镜像、第一大数据客户端目录以及第一大数据客户端组件的环境配置信息生成airflow目标镜像。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种镜像构建方法,应用于kubernetes平台,其特征在于,包括:
获取airflow初始镜像;
将所述airflow初始镜像部署在目标容器中,生成所述kubernetes平台与所述目标容器的映射关系,其中,所述目标容器为所述kubernetes平台管理的任一容器;
基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中;
根据所述airflow初始镜像、所述第一大数据客户端目录以及所述第一大数据客户端组件的环境配置信息生成airflow目标镜像。
2.根据权利要求1所述的镜像构建方法,其特征在于,所述第一大数据客户端组件包括以下至少一项:
数据仓库hive;
分布式应用程序协调服务zookeeper。
3.根据权利要求2所述的镜像构建方法,其特征在于,所述第一大数据客户端组件还包括计算引擎spark;
在所述基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中之后,还包括:
在接收到计算引擎调用指令的情况下,获取所述计算引擎spark的环境配置信息以及所述计算引擎spark对应的数据仓库hive的jar包;
将所述计算引擎spark的环境配置信息以及所述jar包映射至所述目标容器中。
4.根据权利要求1所述的镜像构建方法,其特征在于,在所述基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中之后,还包括:
获取第一大数据客户端环境变量;
将所述第一大数据客户端环境变量添加至所述目标容器中。
5.根据权利要求1-4中任一项所述的镜像构建方法,其特征在于,所述方法还包括:
在接收到大数据客户端替换指令的情况下,基于所述映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中;
根据所述airflow初始镜像、所述第二大数据客户端目录以及所述第二大数据客户端组件的环境配置信息生成airflow更新目标镜像。
6.根据权利要求5所述的镜像构建方法,其特征在于,在所述基于所述映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中之后,还包括:
获取第二大数据客户端环境变量;
将所述第二大数据客户端环境变量添加至所述目标容器中。
7.一种镜像构建装置,其特征在于,包括:
获取模块,用于获取airflow初始镜像;
映射关系生成模块,用于将所述airflow初始镜像部署在目标容器中,生成所述kubernetes平台与所述目标容器的映射关系,其中,所述目标容器为所述kubernetes平台管理的任一容器;
第一映射模块,用于基于所述映射关系,将获取到的第一大数据客户端目录以及第一大数据客户端组件的环境配置信息映射至所述目标容器中;
目标镜像生成模块,用于根据所述airflow初始镜像、所述第一大数据客户端目录以及所述第一大数据客户端组件的环境配置信息生成airflow目标镜像。
8.根据权利要求7所述的镜像构建装置,其特征在于,所述装置还包括:
第二映射模块,用于在接收到大数据客户端替换指令的情况下,基于所述映射关系,将获取到的第二大数据客户端目录以及第二大数据客户端组件的环境配置信息映射至所述目标容器中;
更新目标镜像生成模块,用于根据所述airflow初始镜像、所述第二大数据客户端目录以及所述第二大数据客户端组件的环境配置信息生成airflow更新目标镜像。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述镜像构建方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述镜像构建方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述镜像构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210501920.6A CN117076038A (zh) | 2022-05-09 | 2022-05-09 | 镜像构建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210501920.6A CN117076038A (zh) | 2022-05-09 | 2022-05-09 | 镜像构建方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117076038A true CN117076038A (zh) | 2023-11-17 |
Family
ID=88718061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210501920.6A Pending CN117076038A (zh) | 2022-05-09 | 2022-05-09 | 镜像构建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076038A (zh) |
-
2022
- 2022-05-09 CN CN202210501920.6A patent/CN117076038A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3667500B1 (en) | Using a container orchestration service for dynamic routing | |
CN112035228B (zh) | 一种资源调度方法及装置 | |
US20170115977A1 (en) | Apparatus and method for automating the installation and configuration of infrastructure | |
US10341509B2 (en) | Client device state collection and network-based processing solution | |
US20190079744A1 (en) | Systems and methods for a policy-driven orchestration of deployment of distributed applications | |
CN111371679A (zh) | 一种基于kubernetes与Kong实现API网关的方法 | |
CN110784360A (zh) | 一种实现Kong声明式配置热更新的方法及系统 | |
US9847903B2 (en) | Method and apparatus for configuring a communication system | |
US10169348B2 (en) | Using a file path to determine file locality for applications | |
CN113938321B (zh) | 可扩展的运维管理系统、方法、电子设备和可读存储介质 | |
CN115827008A (zh) | 一种基于云原生平台Kubernetes的云原生大数据组件管理系统 | |
US10606480B2 (en) | Scale-out container volume service for multiple frameworks | |
CN116860746A (zh) | 用于轻量大数据的处理系统 | |
CN115525396A (zh) | 基于云原生的应用管理方法及装置 | |
CN116383223A (zh) | 资产数据处理方法、相关装置及存储介质 | |
CN108170508A (zh) | 批量创建虚拟机的方法、装置、设备及其存储介质 | |
US11018938B1 (en) | Auditing metadata representation of a cloud-computing platform based datacenter | |
US10977218B1 (en) | Distributed application development | |
US20150215229A1 (en) | Resource affinity in a dynamic resource pool | |
CN115344273B (zh) | 一种基于货架系统来运行应用软件的方法及系统 | |
CN117076038A (zh) | 镜像构建方法、装置、电子设备及存储介质 | |
Jang et al. | A Framework for Model-Sharing of Augmented Intelligence in Container-based Modular Robot Using Cloud System | |
WO2022126646A9 (en) | Automated platform for managing, deploying and orchestrating highly distributed service applications | |
CN114039751A (zh) | 一种网络动态感知装置、系统和方法 | |
CN112764825A (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 |