Apollo - 企业级配置中心的快速部署

Apollo作为成熟的分布式环境的配置中心,比Spring Cloud Config安装复杂很多,而且官方的安装文档因为考虑得特别全面,就写得很啰嗦,不方便我们快速部署。

配置中心系列

  • 配置中心 - Spring Cloud Config
  • Apollo - 企业级配置中心的快速部署
  • Spring Boot接入配置中心Apollo

部署简介

Apollo主要部署3个组件

  • Portal:管理配置的页面
  • Admin Service:配置管理服务(为Portal提供接口)
  • Config Service:配置服务(为客户端提供配置接口)
Apollo简化架构

下载部署包

  • 下载服务程序

下载页:https://github.com/ctripcorp/apollo/releases

wget https://github.com/ctripcorp/apollo/releases/download/v1.3.0/apollo-portal-1.3.0-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.3.0/apollo-adminservice-1.3.0-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.3.0/apollo-configservice-1.3.0-github.zip
wget 
  • 下载SQL文件
wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/db/migration/portaldb/V1.0.0__initialization.sql -O portaldb.sql
wget https://raw.githubusercontent.com/ctripcorp/apollo/master/scripts/db/migration/configdb/V1.0.0__initialization.sql -O configdb.sql

部署Config Service

Config Service需要在每个环境都部署一套(DB + Config Service)
Config Service需要在每个环境都部署一套(DB + Config Service)
Config Service需要在每个环境都部署一套(DB + Config Service)

数据库

MySQL: 5.6.5+

  • 导入
source configdb.sql
  • 验证
select `Id`, `Key`, `Value`, `Comment` from `ApolloConfigDB`.`ServerConfig` limit 1;

Config Service

  • 解压
unzip apollo-configservice-1.3.0-github.zip -d configservice
  • 配置修改 configservice/config/application-github.properties
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456

注意账号、密码后面不要有空格

  • 启动
configservice/scripts/startup.sh

因为日志写到/opt/logs,需要保证该目录的读写权限,或者在startup.sh修改LOG_DIR

部署Admin Service

Admin Service需要在每个环境都部署一套(DB + Admin Service)
Admin Service需要在每个环境都部署一套(DB + Admin Service)
Admin Service需要在每个环境都部署一套(DB + Admin Service)

数据库

Admin Service与Config Service共用数据库,所以不再需要导入

Admin Service

  • 解压
unzip apollo-adminservice-1.3.0-github.zip -d adminservice
  • 配置修改 adminservice/config/application-github.properties
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456 

注意账号、密码后面不要有空格
这里数据库的配置与Config Service的一致

  • 启动
adminservice/srcripts/startup.sh

因为日志写到/opt/logs,需要保证该目录的读写权限,或者在startup.sh修改LOG_DIR

部署Portal

数据库

  • 导入
source portaldb.sql
  • 验证
select `Id`, `Key`, `Value`, `Comment` from `ApolloPortalDB`.`ServerConfig` limit 1;

Portal

  • 解压
unzip apollo-portal-1.3.0-github.zip -d portal
  • 修改配置 portal/config/application-github.properties
# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
  • 修改配置 portal/config/apollo-env.properties
local.meta=http://localhost:8080
dev.meta=http://192.168.58.101:8080
pro.meta=http://192.168.58.201:8080

假设Config Service分别部署在192.168.58.101和192.168.58.201上

  • 启动
portal/scripts/startup.sh

部署成功后访问

http://localhost:8070
默认用户名:apollo
默认密码:admin

初始始配置

初始登录后,Apollo还需要进行一些配置,否则可能出现问题。配置的方式
管理员工具 -> 系统参数

  • apollo.portal.envs - 可支持的环境列表
    apollo.portal.envs设置为dev,pro ,跟portal/config/apollo-env.properties保持一致

    系统参数修改

  • organizations - 部门列表

[{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"TEST2","orgName":"样例部门2"}]

其他常用配置

  • 端口修改:scripts/startup.sh
  • 日志地址: scripts/startup.shapollo-adminservice.conf, apollo-configservice.conf

常见问题

  • 部署完成后,环境列表中只看到一个DEV环境
    管理工具 - 系统参数查询参数apollo.portal.envs后,只有dev,修改为dev,prod后保存

修改完成后需要重启Portal生效

  • 添加应用是只有默认的部门:管理工具 - 系统参数修改organizations

参考

  • 微服务架构~携程Apollo配置中心架构剖析
  • 分布式部署指南

你可能感兴趣的:(Apollo - 企业级配置中心的快速部署)