Apollo 介绍
Apollo(阿波罗)是携程框架部门研发的分布式配置核心,可能集中化治理利用不同环境、不同集群的配置,配置批改后可能实时推送到利用端,并且具备标准的权限、流程治理等个性,实用于微服务配置管理场景。
应用 docker 装置 Apollo
因为工作须要,须要应用 Apollo 作为零碎的配置核心。装置 Apollo 有很多种形式,能够循序渐进的依据官网文档一步步的装置。然而大多数的程序员对 Apollo 是不太熟悉的,所以 docker 就是一种比较简单的装置形式。如果对 docker 不理解能够先适当的相熟一下 docker。
本文以 Ubuntu 零碎为例,装置一个领有两个环境(DEV,PRO)的 Apollo 配置零碎。心愿对大家有所帮忙。
环境筹备
前置装置
既然是用 docker 装置 Apollo,那必定须要先装置 docker 环境。以 Ubuntu 零碎为例,咱们能够利用 Apt 命令来装置 docker 环境。sudo apt install docker
显示装置胜利之后能够应用 docker 命令来测试一下是否装置胜利。
前置环境筹备
Mysql,Apollo 的数据是存储在 Mysql 中的,所以咱们须要一个 MySql 环境,能够应用 docker 装置,也能够应用曾经存在的 MySql 实例。在此就不过多形容做 MySql 装置的过程了。
创立数据库
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
留神:apolloportaldb.sql 为 portal 数据库脚本,apolloconfigdb.sql 为环境配置数据库脚本。
portal 数据库只须要一个,然而如果须要装置多环境的 Apollo 的话,须要筹备多个 config 数据库。能够在 apolloconfigdb.sql 中稍作批改。
DEV 环境数据库名:ApolloConfigDBDev
PRO 环境数据库名:ApolloConfigDBPro
批改数据库表
在创立为三个数据库之后,咱们须要改变一下数据库中的两个表。
- ApolloPortalDB 中的 ServerConfig 表中,有一行 apollo.portal.envs。默认是 dev,咱们须要把他改成两个环境并且用逗号隔开:dev,pro。
- ApolloPortalDB 中的 ServerConfig 表中,有一行 apollo.portal.meta.servers。默认为空,咱们须要把他改成{http://{IP}:8080}。留神这边的 IP 能够是外网地址。
- ApolloConfigDBDev 数据库中的的 ServerConfig 表,中有一行为 eureka.service.url,把他的 value 字段改成 http://{IP}:8080/eureka/。因为 DEV 环境默认的端口号为 8080。
-
ApolloConfigDBPro 数据库中的的 ServerConfig 表,中有一行为 eureka.service.url,把他的 value 字段改成 http://{IP}:8083/eureka/。因为 DEV 环境默认的端口号为 8083。
这边提一下,各个环境的默认端口号
开启 dev 环境, 默认端口: config 8080, admin 8090
开启 fat 环境, 默认端口: config 8081, admin 8091
开启 fat 环境, 默认端口: config 8081, admin 8091
开启 uat 环境, 默认端口: config 8082, admin 8092
开启 pro 环境, 默认端口: config 8083, admin 8093
自此咱们的筹备工作都曾经做好了,上面开始正式的进入装置步骤。
docker 装置 Apollo
docker pull idoop/docker-apollo
docker run --net="host" --name apollo -d \
-e PORTAL_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloPortalDB?characterEncoding=utf8' \
-e PORTAL_DB_USER='root' \
-e PORTAL_DB_PWD=‘pwd‘\
-e DEV_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloConfigDBDev?characterEncoding=utf8' \
-e DEV_DB_USER='root' \
-e DEV_DB_PWD='pwd' \
-e PRO_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloConfigDBPro?characterEncoding=utf8' \
-e PRO_DB_USER='root' \
-e PRO_DB_PWD='pwd' \
idoop/docker-apollo:latest
首先第一步是下载 apollo 的镜像,第二步就是正式启动咱们的 Apollo 命令。
这边须要留神的是:
例子中的 {MySqlIP} 和{MySqlPort}须要替换成本人的 MySql 的地址和端口号,用户名和明码这边就不多说了
还有一点要留神的是数据库的名字,是要跟之前创立的数据库一一对应。
验证
- 如果一切顺利你就会看到你的现象曾经被拉起了,值的一提的是刚刚启动的时候马上去拜访是不行的。须要让子弹飞一会,不要认为是本人没装置对。如果装置胜利能够应用命令
- 关上浏览器输出 http://IP:8070, 端口号 8070 默认为治理端端口。失常状况下能够关上
输出默认用户名明码
apollo
admin
就能够进入整个治理界面了。至于如何应用 Apollo 这边就不做过多的形容了。自此整个装置过程就完结了。
援用文章:
https://blog.csdn.net/wangshouhan/article/details/86528700
http://t.zoukankan.com/xinzhyu-p-11479094.html