实战Apollo开源分布式配置中心部署与升级篇

0.Apollo架构说明

本次部署环境为DEV 开发  FAT 测试01  KANGTEST  测试02  UAT 预生产  PROD 生产

在这里插入图片描述上图文字版:
环境 服务器 服务 端口
DEV 192.168.1.169 Apollo-configservice
Apollo-adminservice 8080
8090
FAT 192.168.1.169 Apollo-configservice
Apollo-adminservice 8081
8091
KANGTEST 192.168.1.169 Apollo-configservice
Apollo-adminservice 8082
8092
UAT 192.168.1.169 Apollo-configservice
Apollo-adminservice 8083
8093
Portal01 192.168.1.169 Apollo-portal 10011
Portal02 192.168.1.196 Apollo-portal 8071
PROD 192.168.1.196 Apollo-configservice
Apollo-adminservice 8083
8093

数据库服务器:
在这里插入图片描述
上图文字版:
环境 服务器 服务 数据库 端口
DEV 192.168.1.173 Apollo-configservice
Apollo-adminservice Apolloconfigdbdev 3306
FAT 192.168.1.162 Apollo-configservice
Apollo-adminservice Apolloconfigdbtest 3306
KANGTEST 192.168.1.162 Apollo-configservice
Apollo-adminservice Apolloconfigdbkangtest 3306
UAT 192.168.1.29 Apollo-configservice
Apollo-adminservice Apolloconfigdbuat 3306
Portal01 192.168.1.29 Apollo-portal apolloportaldb 3306
Portal02 192.168.1.204 Apollo-portal apolloportaldb 3306
PROD 192.168.1.204 Apollo-configservice
Apollo-adminservice Apolloconfigdb 3306

Github地址: https://github.com/ctripcorp/apollo.git
重要的项目有:
Apollo-configservice: 提供配置获取接口,提供配置更新推送接口,接口服务对象为apollo客户端。
Apollo-adminservice: 提供配置管理接口,提供配置修改,发布等接口,服务对象为Portal,以及Eureka 。
Apollo-portal: 提供web街面公用户管理配置

一.Apollo新部署 【这里以部署prod生产环境为例】

0. 最好部署好2个 eureka01 eureka02 并将现有服务注册到上面

Eureka 地址:http://192.168.1.171:10001/eureka,http://:192.168.1.231:10002/eureka
在这里插入图片描述

1.新建数据库并初始化,修改数据库字段

将部署目录中的相关数据的sql脚本执行完成。

在这里插入图片描述

2.修改adminservice configservice portal 配置文件

(1):adminservice需要修改配置地址

/opt/apollo-adminservice-1.7.1-github/config/application-github.properties
[root@prod-apollo-001 config]# cat application-github.properties
####### DataSource
spring.datasource.url = jdbc:mysql://192.168.1.204:3306/apolloconfigdb?characterEncoding=utf8 #修改数据库url
spring.datasource.username = username #修改账号密码
spring.datasource.password = password

/opt/apollo-adminservice-1.7.1-github/scripts/startup.sh
#!/bin/bash
SERVICE_NAME=apollo-adminservice
####### Adjust log dir if necessary
LOG_DIR=/opt/logs #修改日志路径
####### Adjust server port if necessary
SERVER_PORT=${SERVER_PORT:=8093} #修改端口号

(2):configservice需要修改配置地址
/opt/apollo-configservice-1.7.1-github/config/application-github.properties
[root@prod-apollo-001 config]# cat application-github.properties
spring.datasource.url = jdbc:mysql://192.168.1.204:3306/apolloconfigdb?characterEncoding=utf8 #修改数据库url
spring.datasource.username = username #修改账号密码
spring.datasource.password = password

/opt/apollo-configservice-1.7.1-github/scripts/start.sh
[root@prod-apollo-001 scripts]# cat startup.sh
#!/bin/bash
SERVICE_NAME=apollo-configservice
####### Adjust log dir if necessary
LOG_DIR=/opt/logs
####### Adjust server port if necessary
SERVER_PORT=${SERVER_PORT:=8083}

(3):portal 需要修改配置地址
/opt/apollo-portal-1.7.1-github/config/application-github.properties
spring.datasource.url = jdbc:mysql://192.168.1.204:3306/apolloconfigdb?characterEncoding=utf8 #修改数据库url
spring.datasource.username = username #修改账号密码
spring.datasource.password = password

/opt/apollo-portal-1.7.1-github/config/apollo-env.properties
prod.meta=http://192.168.1.171:10001,http://:192.168.1.231:10002 #填写eureka地址

/opt/apollo-portal-1.7.1-github/scripts/start.sh
[root@prod-apollo-001 scripts]# cat startup.sh
#!/bin/bash
SERVICE_NAME=apollo-portal
####Adjust log dir if necessary
LOG_DIR=/opt/logs
####Adjust server port if necessary
SERVER_PORT=${SERVER_PORT:=8071}

修改完上述配置后,依次启动adminservice configservice portal 的start.sh脚本即可。

3.修改数据库配置

在这里插入图片描述

Apolloconfigdb库—>serviceconfig表----->eureka.service.url字段填上eureka地址。
在这里插入图片描述

Apolloportaldb库—>serviceconfig表----->apollo.portal.envs字段填上环境名称,如果多个请用逗号分隔。
Apolloportaldb库—>serviceconfig表----->apollo.portal.meta.servers字段填上eureka地址:{“PROD”:“http://192.168.1.171:10001,http://:192.168.1.231:10002”}
Apolloportaldb库—>serviceconfig表----->configView.memberOnly.envs字段填上环境名称,如果多个请用逗号分隔。

4.重启adminservice configservice portal 服务

修改上述配置文件和数据库后,再重启上述3个服务即可。

5.检查apollo系统环境是否良好

访问生产portal地址:http://192.168.1.196:8071/

在这里插入图片描述

在这里插入图片描述

二.Apollo 新增环境 【这里以新增KANGTEST环境为例】

注意: kangtesg环境也需要eureka 需要是2个

1.新建数据库apolloconfigdb并初始化,修改数据库字段

在这里插入图片描述

2.修改adminservice configservice

(1):adminservice需要修改配置地址

/opt/apollo-adminservice-1.7.1-github/config/application-github.properties
[root@prod-apollo-001 config]# cat application-github.properties
####DataSource
spring.datasource.url = jdbc:mysql://192.168.1.xxx:3306/apolloconfigdb?characterEncoding=utf8 #修改数据库url
spring.datasource.username = username #修改账号密码
spring.datasource.password = password

/opt/apollo-adminservice-1.7.1-github/scripts/startup.sh
#!/bin/bash
SERVICE_NAME=apollo-adminservice
####Adjust log dir if necessary
LOG_DIR=/opt/logs #修改日志路径
####Adjust server port if necessary
SERVER_PORT=${SERVER_PORT:=8092} #修改端口号

(2):configservice需要修改配置地址
/opt/apollo-configservice-1.7.1-github/config/application-github.properties
[root@prod-apollo-001 config]# cat application-github.properties
spring.datasource.url = jdbc:mysql://192.168.1.xxx:3306/apolloconfigdb?characterEncoding=utf8 #修改数据库url
spring.datasource.username = username #修改账号密码
spring.datasource.password = password

/opt/apollo-configservice-1.7.1-github/scripts/start.sh
[root@prod-apollo-001 scripts]# cat startup.sh
#!/bin/bash
SERVICE_NAME=apollo-configservice

#####Adjust log dir if necessary

LOG_DIR=/opt/logs
####Adjust server port if necessary
SERVER_PORT=${SERVER_PORT:=8082}

3.修改Portal 数据库及配置文件

###如果除了生产,其他环境可以共用一个portal 就只修改那个portal数据库即可。

Apolloconfigdb库—>serviceconfig表----->eureka.service.url字段填上kangtest环境的eureka地址。

Apolloportaldb库—>serviceconfig表----->apollo.portal.envs字段填上环境名称,如果多个请用逗号分隔。
Apolloportaldb库—>serviceconfig表----->apollo.portal.meta.servers字段填上新增kaangtest的eureka地址:{“KANGTEST”:“http://192.168.1.17:10001,http://:192.168.1.17:10002”}

Apolloportaldb库—>serviceconfig表----->configView.memberOnly.envs字段填上环境名称,如果多个请用逗号分隔。Key=configView.memberOnly.envs value=dev,fat,kangtest,uat

###如果修改数据库后不生效,可以把portal的配置文件也一起修改:
/opt/apollo-portal-1.7.1-github/config/apollo-env.properties
#add kangtest环境eureka地址。
kangtest.meta=http://192.168.1.17:10001,http://:192.168.1.17:10002 #填写eureka地址

4.重启adminservice configservice portal即可检查

在这里插入图片描述
在这里插入图片描述

三.升级Apollo 2.5到8.4版本

将原来的老的configservice adminservice 各个环境使用的apolloconfigdb 和apolloportaldb 全量备份。

将上述改好的配置,上传各个环境服务器后,启动就行了。

微服务启动使用Apollo参数:
-Denv=uat -Dapollo.meta=http://192.168.1.251:10001,http://192.168.1.251:10002
#uat 为对应环境参数
#http://192.168.1.251:10001,http://192.168.1.251:10002 为eureka 对应uat环境的地址和端口号

有Apollo部署及使用问题,欢迎交流,感谢阅读。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值