目录
整体设计
流程描述
文件目录结构设计
产品资源的配置与更新
安装包制作流程
安装包执行流程
整体设计
如下展示了安装包系统的整体结构:
将集群布署可能用到的docker资源,按最小的单元进行整理,以压缩包的形式放于资源库,方便各产品的安装包制作时使用,如Figure 3安装包制作系统的结构图;
在安装包工程里,入口文件mainboard.sh里,可以对每一个最小资源包进行调试与执行,给当前的环境安装一个docker资源,如Figure 4 安装包制作系统的执行原理;在安装包制作的时候,将这些“单个”的安装程序,进行 compose(组装),形成符合各个产品的不同的集群环境。
在安装包执行的时候,会判断*.bin文件同级目录有没有符合文件目录设计(如Figure 6 文件目录的设计)的资源,如果有,就可以用此安装包来安装自定义的产品安装; 如果没有,即直接使用安装包内的产品资源进行安装,进行标准产品的安装。
Figure 3安装包制作系统的结构图
Figure 4 安装包制作系统的执行原理
Figure 5 安装包执行原理
流程描述
文件目录结构设计
Docker资源,在集群布署中是最基本的一环,如Figure 5 Mesh产品布署实例。
而docker的资源,可以为不同的产品所使用。所以在某一个资源目录下,我们为每一种产品建立一个oem目录,放置相应的产品配置相关文件;在这个资源下,如果配置比较简单,也可以放置相应的oem文件即可。所以目录设计如Figure 5 文件目录的设计 所示。
这种目录设计,在安装包制作前,可以按此结构安放各个产品关于这个docker资源的特例配置项,如Figure 7 制作环境目录结构 所示。这样安放清晰明了。 当安装包在执行时,也会按这个结构,将此产品的相关配置复制到目标目录的相应文件目录之下 。如Figure 6 生产环境目标目录结构 所示。
生产环境目录结构及制作环境目录结构,与文件目录设计之间的关系,如Figure 8 目录关系解析 所示。 保证各环境的目录关系,与我们设计的目录结构一致,这样保持安装包执行后,各docker资源得到正确的配置,从而按各产品自定义的参数,正确地运行。
figure 6 文件目录的设计
Figure 7 Mesh产品布署实例
Figure 8 生产环境目标目录结构
Figure 9 制作环境目录结构
Figure 10 目录关系解析
产品资源的配置与更新
产品资源,是指具体某个产品的变动的资源,比如前端的html,js,css文件,后端的jar包,及数据库建立文件create.sql等等。更新这些产品资源保证新制作的安装包建立的环境使用的产品资源是最新的。
Figure 11 产品资源更新
安装包制作流程
安装包制作流程:更新产品资源,放入正确的文件目录;再将一些系统需要的软件也打包;再添加容器资源;再组建安装脚本;最后将所有新源进行加密与打包,生成*.bin的安装包。
Figure 12 安装流程
Figure 13 制作伪代码示意
安装包执行流程
*.bin的安装包在执行的时候,先会判断使用产品资源的位置 。 如果同级目录有符合本文目录设计的资源,即优先采用;如果没有,使用安装包内的产品资源。
然后解压后,构建好内部网络,保证集群内的安全与可达;加载容器:在加载容器中,会读取配置好的产品资源,这样会构建出符合产品要求的集群中间件。
Figure 14 安装包执行流程
Figure 15 执行伪代码示意