Skip to content
DongGuoChao edited this page Jul 24, 2018 · 4 revisions

Image 镜像

Docker镜像是来自于Delos,也就是说镜像只包含了后端,不包含前端。我对我认为比较关键的一些commit做了Dockerfile的打包和上传。镜像地址:https://hub.docker.com/r/blackdog1987/rap2-delos/

Tag号

Tag的最后一段,是commit的code。你可以通过作者的commit记录,找到镜像对应的版本。比如, 2.6.b90e5a1是对commit b90e5a1a63ee45d7165ec8cb2ca81212c20cd701做的镜像。

从源码构建镜像

源码中已经有了dockerfile,你可以根据dockerfile随时打你自己的镜像。

K8S部署

一种可用的部署可以参照下图。 由于是基础设施,并且rap2的更新非常频繁,所以可以考虑有灰度发布,滚动升级的方式,否则其他人会找我们的麻烦。

Nginx

入口可以采用一台nginx,也可以采用一台VirtualIP+多ng的部署方式。对外暴露ng地址(或者VIP)。Ng物理机防护墙开80和38080。80端口为前端页面访问,38080为后端访问。配置相应的访问方式(nginx配置

Dolores(BE)

Dolores是rap2的静态资源,主要是html,css,js,等。随便找两台配置很差的机器即可。内网只需保持高可用,在性能上没问题。毕竟开发者就是前端大神。

Delos(FE)

Delos是rap2的接口,需要node运行环境。为了简化部署,采用docker进行部署,用k8s编排服务。另外。delos还需要redis和mysql。由于不是我们自己开发的,不敢把redis接入到我们现有的redis环境中,害怕影响其他业务。所以也采用了docker部署redis。mysql采用了物理机,当然你也可以采用docker部署。由于目前rap2的接口请求都是无状态的,K8S采用了LoadBalance的方式接入服务。编排可以参考这个Yaml

Docker部署

Docker部署和K8S差不多,使用这个Yaml文件执行docker-compose up -d即可。