一、官网部署流程参考
https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide
二、运行时环境
JDK 1.8+
MySql 5.6.5+
三、apollo环境
Apollo目前支持以下环境:
- DEV
- 开发环境
- FAT
- 测试环境,相当于alpha环境(功能测试)
- UAT
- 集成环境,相当于beta环境(回归测试)
- PRO
- 生产环境
- Portal部署在生产环境的机房,通过它来直接管理FAT、UAT、PRO等环境的配置
- Meta Server、Config Service和Admin Service在每个环境都单独部署,使用独立的数据库
- Meta Server、Config Service和Admin Service在生产环境部署在两个机房,实现双活
- Meta Server和Config Service部署在同一个JVM进程内,Admin Service部署在同一台服务器的另一个JVM进程内
四、下载部署包
两种方式:
1.下载源码自己编译(需要修改源码的可以选择):https://github.com/ctripcorp/apollo
2.下载官方编译好的: https://github.com/ctripcorp/apollo/releases
选择官方编译好的,下载如下三个压缩包:
五、生成数据库
去下载对应版本的源码包,在apollo-xxx\scripts\sql目录下找到apolloconfigdb.sql、apolloportaldb.sql这两个脚本,然后去MySql创建对应的数据库
六、将下载好的三个压缩包上传至linux下并解压
其中shutdown.sh和startup.sh是自己写的脚本(用来启动和关闭三个服务)
startup.sh【注意:服务的启动顺序为:configservice -> adminservice -> portal】
#!/bin/bash
/opt/home/myapollo/apollo-configservice/scripts/startup.sh
/opt/home/myapollo/apollo-adminservice/scripts/startup.sh
/opt/home/myapollo/apollo-portal/scripts/startup.sh
shutdown.sh
#!/bin/bash
/opt/home/myapollo/apollo-configservice/scripts/shutdown.sh
/opt/home/myapollo/apollo-adminservice/scripts/shutdown.sh
/opt/home/myapollo/apollo-portal/scripts/shutdown.sh
七、修改配置
1.服务端口修改
分别修改三个服务下的启动端口号配置文件:/scripts/startup.sh
2.数据库配置修改
分别修改三个服务下的数据连接配置文件:/config/application-github.properties
3.Apollo的meta配置
修改apollo-portal服务的下的meta配置:apollo-portal/config/apollo-env.properties
4.修改数据配置
- 调整ApolloConfigDB配置
配置项统一存储在ApolloConfigDB.ServerConfig表中,需要注意每个环境的ApolloConfigDB.ServerConfig都需要单独配置,修改完一分钟实时生效。
eureka.service.url - Eureka服务Url
不适用于基于Kubernetes原生服务发现场景
不管是apollo-configservice还是apollo-adminservice都需要向eureka服务注册,所以需要配置eureka服务地址。 按照目前的实现,apollo-configservice本身就是一个eureka服务,所以只需要填入apollo-configservice的地址即可,如有多个,用逗号分隔(注意不要忘了/eureka/后缀)。
需要注意的是每个环境只填入自己环境的eureka服务地址,比如FAT的apollo-configservice是1.1.1.1:8080和2.2.2.2:8080,UAT的apollo-configservice是3.3.3.3:8080和4.4.4.4:8080,PRO的apollo-configservice是5.5.5.5:8080和6.6.6.6:8080,那么:
- 在FAT环境的ApolloConfigDB.ServerConfig表中设置eureka.service.url为:
http://1.1.1.1:8080/eureka/,http://2.2.2.2:8080/eureka/
- 在UAT环境的ApolloConfigDB.ServerConfig表中设置eureka.service.url为:
http://3.3.3.3:8080/eureka/,http://4.4.4.4:8080/eureka/
- 在PRO环境的ApolloConfigDB.ServerConfig表中设置eureka.service.url为:
http://5.5.5.5:8080/eureka/,http://6.6.6.6:8080/eureka/
- 调整ApolloPortalDB配置
配置项统一存储在ApolloPortalDB.ServerConfig表中,也可以通过管理员工具 - 系统参数
页面进行配置,无特殊说明则修改完一分钟实时生效。
apollo.portal.envs - 可支持的环境列表
默认值是dev,如果portal需要管理多个环境的话,以逗号分隔即可(大小写不敏感),如:
DEV,FAT,UAT,PRO
修改完需要重启生效。
八、启动Apollo
运行startup.sh启动三个服务后:输入如下地址:http://192.168.101.81:28070 这是portal的服务地址【注意:端口号是自己修改的端口号,默认的用户名:apollo 密码 :admin】