Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

本文介绍在 kubernetes 环境下部署 apollo 配置中心的方法。

附件下载:apollo.zip

1. 导入数据库表

1
2
source config.sql;
source portal.sql;

2. 增加helm repo

1
2
3
helm repo add apollo http://ctripcorp.github.io/apollo/charts
helm search repo apollo
helm repo update

3. 部署apollo 配置中心

1
2
helm -n **live-prod upgrade --install apollo-service -f values.config.prod.yaml apollo/apollo-service
helm -n **live-prod upgrade --install apollo-portal -f values.portal.prod.yaml apollo/apollo-portal

请根据自己的生产环境来设定 namespace。

4. 环境变量配置

建议所有的程序都添加一个配置:

1
2
data:
  APOLLO_SVC: http://apollo-service-apollo-configservice:8080

方便从环境变量上获取集群内的 apollo 服务地址。

5. 解析域名

apollo-portal.**livetech.com CNAME a7f7d5785337a4ff9b6fc6f2fa2a4f11-****.elb.ap-southeast-1.amazonaws.com

注意 ingress 配置的时候限定一下访问的 IP 地址,以防止配置中心暴露于外网。

6. 更新默认账号密码

  • 默认账号密码:apollo/admin,更新密码。
  • 建议创建 admin 账号用于项目做配置更新。