1 配置 MySQL 数据库

1.1 导数据库

Apollo 的表结构对timestamp使用了多个 default 声明,所以需要 5.6.5 以上版本。

连接上 MySQL 后,可以通过如下命令检查:

1
SHOW VARIABLES WHERE Variable_name = 'version';

1.2 下载表结构

1
wget https://github.com/apolloconfig/apollo-build-scripts/blob/master/sql/apolloconfigdb.sql

1.3 导入表结构

1
2
3
4
5
6
7
mysql -u root -p
CREATE DATABASE DevApolloConfigDB;
CREATE DATABASE ApolloPortalDB;
USE DevApolloConfigDB
source apolloconfigdb.sql
USE ApolloPortalDB
source apolloportaldb.sql

2 部署后端

2.1 添加 Apollo Helm Chart 仓库

helm repo add apollo https://www.apolloconfig.com/charts
helm search repo apollo

2.2 配置 apollo-configservice 和 apollo-adminservice

vim values.yaml:

2.2.1 配置数据库连接

1
2
3
4
5
6
7
8
configdb:
name: apollo-configdb
host: "10.188.179.205" #mysql地址
port: 3306 #mysql端口
dbName: DevApolloConfigDB #数据库名字
userName: "root" #mysql用户名
password: "XS@02sn#3Dd*6TwR" #mysql密码
connectionStringProperties: characterEncoding=utf8

2.2.2 配置名字

1
fullNameOverride: "dev-apollo-configsere"

2.2.3 配置外部连接地址

  • 这里是你访问 apolloconfig 他会返回给你这个地址,apollo-portal 访问的也是这个地址
1
2
configServiceUrlOverride: "http://dev-apollo-config.rx.cn:8080"
adminServiceUrlOverride: "http://dev-apollo-admin.rx.cn:8090"

2.3 部署 config 与 admin

helm install dev-apollo-service -f values.yaml -n your-namespace apollo/apollo-service

更多配置项说明可以参考2.4.1.3.3 配置项说明

3 部署前端 apollo-portal

3.1 配置 apollo-portal

vim values.yaml :

3.1.1 配置环境

1
2
3
4
5
config:
envs: dev,test
metaServers:
dev: http://dev-apollo-configsere:8080
test: http://test-apollo-configsere:8080

3.1.2 配置数据库连接

1
2
3
4
5
6
7
portaldb:
name: apollo-portaldb
host: 10.188.179.205
port: 3306
dbName: ApolloPortalDB
userName: root
password: XS@02sn#3Dd*6TwR

3.2 安装

helm install apollo-portal -f values.yaml -n your-namespace apollo/apollo-portal

4 集成 ldap

4.1 添加 apollo-portal 的 configmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
application-ldap.yml: |-
spring:
ldap:
base: "从哪搜索"
username: "管理员用户名"
password: "密码"
searchFilter: "(uid={0})"
urls:
- "ldap://地址:端口"
ldap:
mapping:
objectClass: "inetOrgPerson"
loginId: "uid"
userDisplayName: "cn"
email: "mail"

4.2 挂载

1
2
3
- mountPath: /apollo-portal/config/application-ldap.yml
name: application-ldap
subPath: application-ldap.yml