apollo配置中心
1.下载程序包地址
源代码地址 : https://github.com/ctripcorp/apollo/
已编译完成程序包 : https://github.com/ctripcorp/apollo/releases
config数据库地址 :https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
portal数据库地址 : https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
###本次使用已编译完成的程序包
wget https://github.com/ctripcorp/apollo/releases/download/v1.6.1/apollo-adminservice-1.6.1-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.6.1/apollo-configservice-1.6.1-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.6.1/apollo-portal-1.6.1-github.zip
wget https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
wget https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
mkdir -p /home/work/apollo/portal
mkdir -p /home/work/apollo/config
mkdir -p /home/work/apollo/admin
数据库文件使用浏览器复制到本地文件中。
2.程序接口名称及功能说明
名称
|
功能说明
|
接口服务对象
|
---|---|---|
Portal | 提供Web界面供用户管理配置 | 配置管理员 |
Admin Service | 提供配置管理接口 | Portal |
Config Service | 提供配置获取接口 | Apollo客户端程序 |
Eureka | Config Service和Admin Service会向Eureka注册服务,并保持心跳 | Config和Admin |
Meta Server | Meta Server从Eureka获取Config Service和Admin Service的服务信息 | Portal和Client |
Meta Server和Config Service是在一个JVM进程中
Eureka和Config Service是在一个JVM进程中
部署分布说明
-
Portal
单独使用ApolloPortalDB
库,可以独立部署 -
Config Service
和Admin Service
共用ApolloConfigDB
库,建议部署至同一台服务器。 -
Portal
部署在生产环境的机房,通过它来直接管理FAT、UAT、PRO等环境的配置 -
Config Service
和Admin Service
在每个环境都独立部署,使用独立的数据库(提供给相对应环境的客户端程序调用配置接口)
默认支持环境说明
名称
|
说明
|
---|---|
DEV | 开发环境 |
FAT | 测试环境,相当于alpha环境(功能测试) |
UAT | 集成环境,相当于beta环境(回归测试) |
PRO | 生产环境 |
3.安装Config Service
和Admin Service
- 导入数据库
下载的sql直接导入到mysql里面
- 安装程序
unzip -d /home/work/apollo/admin apollo-adminservice-1.6.1-github.zip
unzip -d /home/work/apollo/config apollo-configservice-1.6.1-github.zip
- 修改配置文件
vim /home/work/apollo/config/config/application-github.properties
######修改config server数据库地址以及用户名密码
spring.datasource.url = jdbc:mysql://xxx:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
修改日志文件
vim /home/work/apollo/config/apollo-adminservice.conf
LOG_FOLDER=/data/apollo/log/
修改启动日志文件
vim /home/work/apollo/admin/script/startup.sh
LOG_DIR=/data/apollo/log
vim /home/work/apollo/admin/config/application-github.properties
######修改admin server数据库地址以及用户名密码
spring.datasource.url = jdbc:mysql://10.10.10.10:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
修改日志文件
vim /home/work/apollo/config/apollo-configservice.conf
LOG_FOLDER=/data/apollo/log/
修改启动日志文件
vim /home/work/apollo/config/script/startup.sh
LOG_DIR=/data/apollo/log
- 启动程序
/home/work/apollo/config/scripts/startup.sh
/home/work/apollo/admin/scripts/startup.sh
- 检查启动情况
- 打开网页
http://192.168.1.10:8080
,查看是否有APOLLO-CONFIGSERVICE
以及APOLLO-ADMINSERVICE
成功注册 - 使用命令
curl -X GET "http://192.168.1.10:8080/eureka/apps"
检查已注册服务
- 打开网页
其他环境中部署Config Service
和Admin Service
集群
- 修改数据库配置文件
###修改 `ApolloConfigDB`.`ServerConfig`表中 `Value`选项
###将原 http://localhost:8080/eureka/ 修改为内网IP,(Eureka服务Url,多个service以英文逗号分隔)
###例如:
UPDATE `ApolloConfigDB`.`ServerConfig` SET `Value` = 'http://xxxx1:8080/eureka/,http://xxxxx2:8080/eureka/' WHERE `Id` = 1
-
部署并启动
- 在xxxx1以及xxxxx2服务器上部署config及admin服务
- 启动config及admin服务
-
检查启动情况
- 打开网页
http://xxxx1:8080
以及http://xxxx2:8080
,两台程序都服务注册成功即可。 - 使用命令
curl -X GET "http://xxxx1:8080/eureka/apps"
检查已注册服务
- 打开网页
4.安装配置portal
- 导入数据库
导入下载的sql
- 安装程序
mkdir -p
/home/work/apollo/portal
unzip -d /home/work/apollo/portal apollo-portal-1.6.1-github.zip
-
修改配置文件
修改数据库配置文件
vim
/home/work/apollo/portal
/config/application-github.properties
######修改portal数据库地址以及用户名密码
spring.datasource.url = jdbc:mysql://xxxx:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
**修改访问环境配置文件**
vim
/home/work/apollo/portal
/config/apollo-env.properties
######修改各环境的eureka访问地址,仅培训需要的环境,如果eureka配置集群模式,填入地址,使用逗号隔开。(更建议使用域名+负载均衡)
dev.meta=http://xxxxx1:8080,http://xxxxx2:8080
修改日志文件
vim /home/work/apollo/portal/apollo-portal.conf
LOG_FOLDER=/data/apollo/log/
修改启动日志文件
vim /home/work/apollo/portal/script/startup.sh
LOG_DIR=/data/apollo/log
**修改数据库配置**
配置统一存储在 ApolloPortalDB
.ServerConfig
表中
###允许支持多环境
`apollo.portal.envs`键值中,如需管理多个环境的话,使用逗号隔开
例如 "DEV,FAT,UAT,PRO"
###修改部门列表信息
`organizations`键值中,按照样例修改可选部门信息
###超级管理官
`superAdmin`键值中,拥有超级管理员权限用户名,如需添加多个,用逗号隔开
- 启动程序
/home/work/apollo/portal
/scripts/startup.sh
-
访问配置管理页面
访问域名 : http://192.168.1.10:8070
默认用户名 : apollo
默认密码 : admin