将Node.js项目docker容器化并纳入kubernetes调度编排的实践
简述 此文档以XXXLogApi-nj项目为例,讲解了将基于Node.js+Express开发的javascript项目容器化的过程。希望以后类似的项目可以以此为参照进行扩展。 XXXLogApi-nj本身是一个微服务化的项目,其作用是为系统单纯的收集相关发布日志,以便能及时的展示给用户。 ***这份文档的操作,开始于编码完成之后流程。不涉及GIT和JENKINS的等的操作。 ***为保持职业操作,涉及公司信息的地方作了敏感化处理。 ***在这个系列中,我同时作了spring boot, beego, django, node.js框架的容器化操作,大同小异,故而只列出第一篇吧。 步骤 整个项目的操作过程如下: ä¸ï¼ 开发好业务代码,并且测试通过。 由于javascript为解释型语言,将开发好的目录先移至制作目录下 二,下载好基础镜像,为减小镜像,基础镜像为node:9.0.0-alpine,并上传到harbor仓库。 三,编写dockerfile并生成项目镜像。 Dockerfile文件内容 FROM 1.2.3.4/public/node:9.0.0-alpine MAINTAINER CHENGANG WORKDIR /data COPY prismlogapi-nj/ /data/ EXPOSE 8000 ENTRYPOINT ["node", "index.js", "8000"] 四,编写k8s的deployment文件,并部署。 xxxlognj-deployment.yaml文件内容 部署命令: kubectl apply -f xxxlognj-deployment.yaml 五,编写k8s的service文件,并部署。 xxxlognj-deployment.yaml文件内容 部署命令: kubectl apply -f xxxlognj-deployment.yaml 六,查看k8s里dashborad服务状态,及验证服务 七,补充