Apollo多環境部署
Apollo的快速啟動項目中,只有一個環境,但是本身的一個apollo-portal管控端可以管理不同環境下的配置;所以apollo配置中心多環境配置下的主要思路為(這里以PRO和UAT兩個環境舉例說明):
-
搭建兩台虛擬機,分別用作DEV環境和FAT環境(需要安裝jdk1.8及以上的Java環境以及MySQL環境);
-
PRO環境上面配置apollo-adminservice,apollo-configservice和apollo-portal三個模塊的配置文件
-
UAT環境上面配置apollo-adminservice,apollo-configservice兩個模塊的配置文件
具體步驟如下:
-
下載apollo官方release(我這里以1.9.2舉例),下載地址在:https://github.com/ctripcorp/apollo/releases
-
數據庫初始化SQL,
-
navicat MySQL客戶端工具中運行release中的兩個sql文件,分別生成三個數據庫,其中uat和pro是運行同一個sql文件,只是修改了數據庫的名稱
- 修改【apolloportaldb數據庫】【serverconfig表】字段:apollo.portal.envs、configView.memberOnly.envs、apollo.portal.meta.servers
修改字段apollo.portal.meta.servers, 例如:
{
"DEV":"http://1.1.1.1:8080",
"FAT":"http://apollo.fat.xxx.com",
"UAT":"http://apollo.uat.xxx.com",
"PRO":"http://apollo.xxx.com"
}
- 將下載好的release解壓,並將apollo-adminservice,apollo-configservice和apollo-portal分別上傳到兩台虛擬機上並解壓
-
兩台虛擬機分別進入apollo-configservice和apollo-adminservice文件中config目錄,用vim命令行編輯application-github.properties文件
注意: 這里有個坑,當我們使用比較新的版本,apollo_portal_db_url 默認是走ssl,需要添加此參數:apollo_portal_db_url="jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
[root@deploy-150-64 opt]# vim apollo-portal/config/application-github.properties # DataSource spring.datasource.url = jdbc:mysql://10.0.150.64:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false spring.datasource.username = user spring.datasource.password = passwd
值得注意的是不同環境下,可以是同一個MySQL地址,但是數據庫必須不一樣,這里UAT環境數據庫后面加了UAT的后綴,FAT環境數據庫后面加了FAT的后綴
-
進入UAT虛擬機中,apollo-portal下config目錄,用vim命令行編輯application-github.properties文件,同樣的配置MySQL地址
-
進入UAT環境的虛擬機中,apollo-portal下config目錄,用vim命令行編輯apollo-env.properties文件,配置apollo的meta-server環境地址
[root@deploy-150-64 opt]# cat apollo-portal/config/apollo-env.properties #local.meta=http://localhost:8080 #dev.meta=http://fill-in-dev-meta-server:8080 #fat.meta=http://fill-in-fat-meta-server:8080 uat.meta=http://10.0.150.187:8080 pro.meta=http://10.0.150.64:8080
-
兩台虛擬機分別按順序啟動apollo-configservice,apollo-adminservice,在apollo-configservcie和apollo-adminservice目錄下的scripts,使用命令行sh startup.sh啟動
- UAT虛擬機中,啟動apollo-portal,在apollo-portal目錄下的scripts,使用命令行sh startup.sh啟動
- 在UAT虛擬機中輸入localhost:8070,然后進入一個項目即可看到多環境了,我這里后續修改成了DEV和PRO環境