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

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

作者: 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拨号连入内网,通过公司的代码库达到代码协同。

相关文章

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

    又是一次从现场实施归来,这次实施于以往有很大不同,在于系统整体架构从单体应用变迁到前后端分离形式,后端服务也采用d...

  • 如何迁移大量栅格瓦片

    将栅格瓦片部署在服务容器中,向外提供基础底图服务是专网环境下最常采用的方法。专网也就意味着栅格瓦片的来源只能通过拷...

  • 如何使用ABtoken解决跨网安全性问题

    前言 我们假设有一个混合云的场景,在这个场景中,存在两个环境 - 公网和专网。公网和专网都可以提供服务。公网可以访...

  • Linux 弱⽹主机搭建⽅法

    背景: 公司公用wifi速度不稳定,固想使用主机做网关做一个专网的弱网测试环境。如何做弱网测试? 准备⼯作 主机 ...

  • Linux运维-day13-前三周内容回顾

    补充的知识 1、在配置环境模块,如何检查是否提供这个服务? telnet:检查是否提供这个接口 nc nmap 网...

  • 火遍企业圈的SD-WAN是什么?

    SD-WAN,也就是软件定义广域网,是SDN技术在广域网环境下的应用所形成的服务。这类服务用于连接广泛的地理范围的...

  • 基于k8s环境的spring-cloud服务发现和调用配置

    spring-cloud在k8s环境下的服务发现调用,似乎有点不同,还有本地开发环境,如何能调用到如文件上传微服务...

  • 11.2

    今天继续学习linux系统,在linux系统下实施网络配置管理,如何配置IP地址,配置TFTP服务等等,老师边在l...

  • linux下mognodb的安装与配置(3.6.5)

    一、MongoDB在Linux环境下的安装 ​ 进入MongoDB数据库的官网找到社区版Mongo服务的Linux...

  • 推进微服务落地的 7 个步骤

    本文是GitChat《为什么微服务实施那么难?如何高效推进微服务架构演进》的下半部分。标题和部分内容已做修改。 微...

网友评论

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

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