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环境数据库名:ApolloConfigDBDevPRO环境数据库名: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-apollodocker 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