攜程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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章