OpenShift Route路由实现机制探究(2)
在上一篇完成后,又过去了两周时间,这段时间内由于工作需要,在试着在开发环境安装OceanBase数据库试用版,并通读其官网文档一遍。OB新开放的这个官网里的文档,是比原来在蚂蚁金服金融云的文档归整条理了很多,但……
好了,还是转回来继续OpenShift Route吧。 本篇内容主要是要搞清楚默认Router容器是如何构建的,以及此容器启动命令最终是哪一个执行码,以便后续找到实际的源码进行工作机制分析。
Haproxy Router镜像构建
上一篇内容中,我们已经知道OpenShift默认Router的运行时容器对应的镜像名称是:openshift/origin-haproxy-router。 那么这个镜像是怎样构建出来的? 让我们先看下源码编译脚本构建镜像的大概过程。
构建脚本过程
需要单独构建容器镜像时,我们可通过执行命令make build-images
来完成(在此之前还有一步,后面会提到),对整个执行过程进行源码静态分析,能够得到如下图所示的构建脚本流程:
从图中绿色高亮字体,不难看出openshift-haproxy-router容器镜像构建文件源码存在于images/router/haproxy目录:
tag_prefix="${OS_IMAGE_PREFIX:-"openshift/origin"}"
...
( os::build::image "${tag_prefix}-haproxy-router" images/router/haproxy ) &
...
而且构建过程使用了OpenShift另一开源工具