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

批改数据库表

在创立为三个数据库之后,咱们须要改变一下数据库中的两个表。

  1. ApolloPortalDB中的ServerConfig表中,有一行apollo.portal.envs。默认是dev,咱们须要把他改成两个环境并且用逗号隔开:dev,pro。
  2. ApolloPortalDB中的ServerConfig表中,有一行apollo.portal.meta.servers。默认为空,咱们须要把他改成{http://{IP}:8080}。留神这边的IP能够是外网地址。
  3. ApolloConfigDBDev数据库中的的ServerConfig表,中有一行为eureka.service.url,把他的value字段改成http://{IP}:8080/eureka/。因为DEV环境默认的端口号为8080。
  4. 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的地址和端口号,用户名和明码这边就不多说了
还有一点要留神的是数据库的名字,是要跟之前创立的数据库一一对应。

验证

  1. 如果一切顺利你就会看到你的现象曾经被拉起了,值的一提的是刚刚启动的时候马上去拜访是不行的。须要让子弹飞一会,不要认为是本人没装置对。如果装置胜利能够应用命令
  2. 关上浏览器输出http://IP:8070,端口号8070默认为治理端端口。失常状况下能够关上

    输出默认用户名明码
    apollo
    admin
    就能够进入整个治理界面了。至于如何应用Apollo这边就不做过多的形容了。自此整个装置过程就完结了。

援用文章:
https://blog.csdn.net/wangshouhan/article/details/86528700
http://t.zoukankan.com/xinzhyu-p-11479094.html