zoukankan      html  css  js  c++  java
  • 携程apollp快速部署DVE集群

    1、环境准备:

    这里只部署DEV环境

    系统环境:

    系统 ip
    ubuntu-18.04-live-server-amd64 192.168.1.112
    ubuntu-18.04-live-server-amd64 192.168.1.117

    软件版本:

    MYSQL:5.7

    apolloconfig/apollo-portal:1.7.0-SNAPSHOT

    apolloconfig/apollo-configservice:1.7.0-SNAPSHOT

    apolloconfig/apollo-adminservice:1.7.0-SNAPSHOT

    1.1、下载MYSQL脚本

    下载以下两个脚本。

    https://github.com/ctripcorp/apollo/tree/master/scripts/sql/apolloconfigdb.sql

    https://github.com/ctripcorp/apollo/tree/master/scripts/sql/apolloportaldb.sql

    1.2、安装docker-compose

    apt-get install docker-compose
    

    2、部署单机版本

    这里在192.168.1.112中部署单机版本

    2.1、部署示意图

    2.2、准备docker-compose.yml文件

    下面的文件 # 后面是备注信息

    在112上创建/home/allspark/dockerCompose/docker-compose.yml文件,将以下内容复制到其中。

    version: "3"
    services:
      apollo-configservice:
        container_name: apollo-configservice # 容器名
        image: apolloconfig/apollo-configservice # 镜像名
        ports:
          - 8080:8080 # 映射端口
        volumes:
          - "/home/allspark/apollo/logs/100003171:/opt/logs/100003171" # 映射路径
        environment:
          - spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8 # mysql连接字符串
          - spring_datasource_username=root # mysql账号
          - spring_datasource_password=root # mysql 密码
          - eureka.instance.ip-address=192.168.1.112 # 本机IPv4地址
        restart: always # 自启
    
      apollo-adminservice:
        container_name: apollo-adminservice
        image: apolloconfig/apollo-adminservice
        ports:
          - 8090:8090
        volumes:
          - "/home/allspark/apollo/logs:/opt/logs"
        environment:
          - spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8
          - spring_datasource_username=root
          - spring_datasource_password=root
          - eureka.instance.ip-address=192.168.1.112
        depends_on:
          - apollo-configservice # 在这之后执行
        restart: always
    
      apollo-portal:
        container_name: apollo-portal
        image: apolloconfig/apollo-portal
        ports:
          - 8070:8070
        volumes:
          - "/home/allspark/apollo/logs:/opt/logs"
          - "/home/allspark/apollo/apollo-portal/config/apollo-env.properties:/apollo-portal/config/apollo-env.properties"
        environment:
          - spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloPortalDB?characterEncoding=utf8
          - spring_datasource_username=root
          - spring_datasource_password=root
        depends_on:
          - apollo-adminservice
        restart: always
    

    2.3、准备apollo-portal需要的配置文件

    我们在192.168.1.112上创建文件
    /home/allspark/apollo/apollo-portal/config/apollo-env.properties
    写入内容(以下内容为官方包中默认配置,单机版本无需修改)

    local.meta=http://localhost:8080
    dev.meta=http://fill-in-dev-meta-server:8080
    fat.meta=http://fill-in-fat-meta-server:8080
    uat.meta=http://fill-in-uat-meta-server:8080
    lpt.meta=${lpt_meta}
    pro.meta=http://fill-in-pro-meta-server:8080
    

    2.4、开始部署

    cd /home/allspark/dockerCompose
    
    docker-compose -f docker-compose.yml up --build -d
    

    等待执行完毕后,即可访问

    192.168.1.112:8070

    192.168.1.112:8080

    192.168.1.112:8090

    3、双机集群部署

    3.1、部署示意图

    image

    3.2、准备docker-compose.yml文件

    首先我们在已经有上面单机部署。

    我们这里共用一个数据库,公用一个apollo-portal。

    所以只需要在另外一台机器上部署一个集群就可以了,使112与117形成集群。

    192.168.1.117上创建/home/allspark/dockerCompose/docker-compose.yml文件,将以下内容复制到其中。

    version: "3"
    services:
      apollo-configservice:
        container_name: apollo-configservice # 容器名
        image: apolloconfig/apollo-configservice # 镜像名
        ports:
          - 8080:8080 # 映射端口
        volumes:
          - "/home/allspark/apollo/logs/100003171:/opt/logs/100003171" # 映射路径
        environment:
          - spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8 # mysql连接字符串(这里使用的112的数据库)
          - spring_datasource_username=root # mysql账号
          - spring_datasource_password=root # mysql 密码
          - eureka.instance.ip-address=192.168.1.117 # 本机IPv4地址
        restart: always # 自启
    
      apollo-adminservice:
        container_name: apollo-adminservice
        image: apolloconfig/apollo-adminservice
        ports:
          - 8090:8090
        volumes:
          - "/home/allspark/apollo/logs:/opt/logs"
        environment:
          - spring_datasource_url=jdbc:mysql://192.168.1.112:3306/ApolloConfigDB?characterEncoding=utf8
          - spring_datasource_username=root
          - spring_datasource_password=root
          - eureka.instance.ip-address=192.168.1.117
        depends_on:
          - apollo-configservice # 在这之后执行
        restart: always
    

    开始部署

    cd /home/allspark/dockerCompose
    
    docker-compose -f docker-compose.yml up --build -d
    

    修改配置

    使用ssh连接192.168.1.112

    修改/home/allspark/apollo/apollo-portal/config/apollo-env.properties
    为以下内容。

    local.meta=http://192.168.1.112:8080
    dev.meta=http://192.168.1.112:8080,http://192.168.1.117:8080
    

    修改mysql数据库中的配置

    打开数据库连接工具

    use apolloconfigdb;
    UPDATE serverconfig SET `Value`="http://192.168.1.112:8080/eureka/,http://192.168.1.117:8080/eureka/" WHERE Id=1;
    

    重启112上的apollo

    使用SSH连接到112

    cd /home/allspark/dockerCompose
    docker-compose restart
    
  • 相关阅读:
    t
    bert4keras
    embeding应用-airbnb推荐
    The Neural Autoregressive Distribution Estimator
    3.redis desktop manager--redis 可视化工具安装及使用
    Day06作业(postman接口测试)
    DRF学习day01(web应用模式,api接口,RESTful API规范,序列化,Django Rest_Framework)
    restFul接口设计规范
    Vue学习之荏苒资讯项目(一)
    微信小程序开发四:Promise的使用,解决回调地狱
  • 原文地址:https://www.cnblogs.com/hanfan/p/13279475.html
Copyright © 2011-2022 走看看