美文网首页学习
微服务在专网环境下如何实施

微服务在专网环境下如何实施

作者: questionuncle | 来源:发表于2018-09-28 17:25 被阅读77次

    又是一次从现场实施归来,这次实施于以往有很大不同,在于系统整体架构从单体应用变迁到前后端分离形式,后端服务也采用docker镜像的形式打包,docker compose进行服务编排,docker swarm部署多个实例。接下来想梳理一下整个流程。

    实施准备

    专网环境顾名思义就是在客户的局域网内,连接不了互联网,更连不上自己公司的开发网络。要在这样的环境下部署容器技术的应用,得要做好几点准备工作:

    1.制作一个带docker的系统镜像

    在安装docker时,最方便的办法莫过于通过yum安装了,而由于总总原因客户的网络连接不了互联网,那要在现场安装docker最方便的办法莫过于带一个装有docker的系统镜像,在现场恢复系统镜像即可。
    (小技巧:
    1.为了便于迁移,系统镜像不要做太大,通过挂载一个新盘符挂载到一个新挂载点下,并修改docker的存储路径为该挂载点。在做系统镜像时,不将该挂载点打包进去,大大减少了系统镜像体积。事实证明,当我们通过网络向VMWARE ESXi系统物理路径下上传系统镜像时,传输速度很慢,主要受限于读写速度,而VMWARE ESXi创建一个大空间却十分快
    2.如果你想运维方便,也可以将自己的ssh公匙打包进去)
    这次实施在客户的机器上安装VMWARE ESXi6.7,通过页面访问的形式就能够新建虚拟机,十分方便,需要注意的是license,一般申请的license有内核限制,只有8核,如果你想给虚拟机更多核,就得想想办法了。

    2.应用镜像的准备

    微服务的模式将原有巨石应用拆分成多个服务,每个服务时通过打包成镜像扔到容器中运行提供。所以,需要将你所用到的所有服务所对应的镜像从你的私有仓库(例如:Harbor)中打包下载下来,放到U盘中带走。

    docker login -u *** -p *** harbor_url           #登录到harbor_url私有仓库上
    docker pull target_image                        #拉去目标镜像至本地
    docker save -o target_image.tar target_image    #将目标镜像打包成tar文件
    

    3.编写编排脚本

    编写编排脚本,将所需的服务全都罗列上,将配置文件外置,应用通过读取外置文件进行配置。建议将应用内部的端口号统一,暴露端口号配置成不同。
    例如:

    services:
      storage-service:
        image: harbor_url/storage-service:latest
        ports:
          - 9002:8080
        networks:
          - demo
        environment:
          TZ: Asia/Shanghai
        labels:
          aliyun.logs.storage-service: stdout
        deploy:
          mode: replicated
          replicas: 3
        configs:
          - source: storage-service-yml
            target: /app/application.yml
            
    networks:
      demo:
        driver: overlay
        attachable: true
    
    configs:
      storage-service-yml:
        file: ./storage-service.yml
    

    4.现场搭建Harbor

    在现场搭建个Harbor,作为实施测的仓库中心,将打包好的镜像push至仓库中心。

    docker login -u *** -p *** new_harbor_url             #登录到现场的私有仓库上
    docker load -i target_image.tar                       #将打包文件上载
    docker tag target_image new_target_image              #将镜像搭上标签
    docker push new_target_image                          #将镜像上传
    

    5.本机电脑安装docker

    最好在自己的本机电脑上安装docker,作为现场改动代码时的打包环境。
    同时,最好配置好L2TP VPN,方便连入公司内网,这样团队在现场开发时,借助VPN拨号连入内网,通过公司的代码库达到代码协同。

    相关文章

      网友评论

        本文标题:微服务在专网环境下如何实施

        本文链接:https://www.haomeiwen.com/subject/txxobftx.html