一、docker 部署 apollo
1.1 下载 apollo 安装包
1 | [admin@centos7 ~]$ https://github.com/nobodyiam/apollo-build-scripts |
1.2 启动 docker-compose
1 | [admin@centos7 ~]$ cd apollo-build-scripts |
1.3 导入 apollo mysql 数据
ApolloPortalDB库:apolloportaldb.sql
ApolloConfigDB库: apolloconfigdb.sql
使用客户端导入以上两个库的基础数据,数据库默认用户root,没有密码。
1.4 重启 apollo 服务
1 | [admin@centos7 apollo-portal]$ docker restart apollo-quick-start |
第一次启动因为mysql数据库里没有基础数据,肯定会启动失败再重启一次即可。
二、apollo 集成 OpenLDAP
2.1 配置 apollo 集成 OpenLDAP
在 apollo-quick-start/portal
目录下新建一个config
目录,在config
目录下创建application-ldap.yml
1 | [admin@centos7 apollo-build-scripts]$ docker exec -it apollo-quick-start bash |
apollo 支持OpenLDAP 基于memberOf过滤用户和基于Group过滤用户,个人推荐使用前者,因为对基于Group的支持还不是很好,这里使用的apollo版本为1.7.1。
更多LDAP接入方式和配置请参考官方GitHUB
2.2 修改启动脚本
docker-compose启动的apollo修改demo.sh,将-Deureka.client.enabled
后面的auth
替换为ldap
即可。
1 | bash-4.3# vi /apollo-quick-start/demo.sh |
重启apollo服务
1 | [admin@centos7 apollo-portal]$ docker restart apollo-quick-start |
三、使用 LDAP 账户登录
待服务完成重启便可以使用 ldap 账户进行登录了
创建项目
如果使用的是基于Group过滤用户,在应用负责人和项目管理员这里可能无法显示成员。
四、apollo 添加多个集群
4.1 修改数据库配置
如果要同时配置多个环境,需要修改portal数据库。打开ApolloPortalDB
库的serverconfig
表,修改key
为apollo.portal.envs
的value
来添加环境。环境之间使用英文逗号隔开(大小写不敏感)。目前apollo默认支持环境可以参考枚举类com.ctrip.framework.apollo.core.enums.Env
1 | public enum Env{ |
4.2 修改apollo启动参数
docker-compose 部署的apollo 修改demo.sh
1 | PORTAL_JAVA_OPTS="$BASE_JAVA_OPTS -Ddev_meta=$config_server_url -Duat_meta=$config_server_url -Dspring.profiles.active=github,ldap -Deureka.client.enabled=fa |
采用二进制部署方式,则修改portal下的config/apollo-env.properties文件
1 | [root@centos7 apollo-portal]$ cat config/apollo-env.properties |
最后重启服务,进入apollo即可看到多个集群了