1.下載程序包地址
源代碼地址 : https://github.com/ctripcorp/apollo/
已編譯完成程序包 : https://github.com/ctripcorp/apollo/releases
config數據庫地址 :https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
portal數據庫地址 : https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
###本次使用已編譯完成的程序包
wget https://github.com/ctripcorp/apollo/releases/download/v1.6.1/apollo-adminservice-1.6.1-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.6.1/apollo-configservice-1.6.1-github.zip
wget https://github.com/ctripcorp/apollo/releases/download/v1.6.1/apollo-portal-1.6.1-github.zip
wget https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
wget https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
mkdir -p /home/work/apollo/portal
mkdir -p /home/work/apollo/config
mkdir -p /home/work/apollo/admin
數據庫文件使用瀏覽器復制到本地文件中。
2.程序接口名稱及功能說明
名稱
|
功能說明
|
接口服務對象
|
---|---|---|
Portal | 提供Web界面供用戶管理配置 | 配置管理員 |
Admin Service | 提供配置管理接口 | Portal |
Config Service | 提供配置獲取接口 | Apollo客戶端程序 |
Eureka | Config Service和Admin Service會向Eureka注冊服務,並保持心跳 | Config和Admin |
Meta Server | Meta Server從Eureka獲取Config Service和Admin Service的服務信息 | Portal和Client |
Meta Server和Config Service是在一個JVM進程中
Eureka和Config Service是在一個JVM進程中
部署分布說明
-
Portal
單獨使用ApolloPortalDB
庫,可以獨立部署 -
Config Service
和Admin Service
共用ApolloConfigDB
庫,建議部署至同一台服務器。 -
Portal
部署在生產環境的機房,通過它來直接管理FAT、UAT、PRO等環境的配置 -
Config Service
和Admin Service
在每個環境都獨立部署,使用獨立的數據庫(提供給相對應環境的客戶端程序調用配置接口)
默認支持環境說明
名稱
|
說明
|
---|---|
DEV | 開發環境 |
FAT | 測試環境,相當於alpha環境(功能測試) |
UAT | 集成環境,相當於beta環境(回歸測試) |
PRO | 生產環境 |
3.安裝Config Service
和Admin Service
- 導入數據庫
下載的sql直接導入到mysql里面
- 安裝程序
unzip -d /home/work/apollo/admin apollo-adminservice-1.6.1-github.zip
unzip -d /home/work/apollo/config apollo-configservice-1.6.1-github.zip
- 修改配置文件
vim /home/work/apollo/config/config/application-github.properties ######修改config server數據庫地址以及用戶名密碼 spring.datasource.url = jdbc:mysql://xxx:3306/ApolloConfigDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456
修改日志文件
vim /home/work/apollo/config/apollo-adminservice.conf
LOG_FOLDER=/data/apollo/log/
修改啟動日志文件
vim /home/work/apollo/admin/script/startup.sh
LOG_DIR=/data/apollo/log
vim /home/work/apollo/admin/config/application-github.properties ######修改admin server數據庫地址以及用戶名密碼 spring.datasource.url = jdbc:mysql://10.10.10.10:3306/ApolloConfigDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456
修改日志文件
vim /home/work/apollo/config/apollo-configservice.conf
LOG_FOLDER=/data/apollo/log/
修改啟動日志文件
vim /home/work/apollo/config/script/startup.sh
LOG_DIR=/data/apollo/log
- 啟動程序
/home/work/apollo/config/scripts/startup.sh /home/work/apollo/admin/scripts/startup.sh
- 檢查啟動情況
- 打開網頁
http://192.168.1.10:8080
,查看是否有APOLLO-CONFIGSERVICE
以及APOLLO-ADMINSERVICE
成功注冊 - 使用命令
curl -X GET "http://192.168.1.10:8080/eureka/apps"
檢查已注冊服務
- 打開網頁
其他環境中部署Config Service
和Admin Service
集群
- 修改數據庫配置文件
###修改 `ApolloConfigDB`.`ServerConfig`表中 `Value`選項 ###將原 http://localhost:8080/eureka/ 修改為內網IP,(Eureka服務Url,多個service以英文逗號分隔) ###例如: UPDATE `ApolloConfigDB`.`ServerConfig` SET `Value` = 'http://xxxx1:8080/eureka/,http://xxxxx2:8080/eureka/' WHERE `Id` = 1
-
部署並啟動
- 在xxxx1以及xxxxx2服務器上部署config及admin服務
- 啟動config及admin服務
-
檢查啟動情況
- 打開網頁
http://xxxx1:8080
以及http://xxxx2:8080
,兩台程序都服務注冊成功即可。 - 使用命令
curl -X GET "http://xxxx1:8080/eureka/apps"
檢查已注冊服務
- 打開網頁
4.安裝配置portal
- 導入數據庫
導入下載的sql
- 安裝程序
mkdir -p
/home/work/apollo/portal
unzip -d /home/work/apollo/portal apollo-portal-1.6.1-github.zip
-
修改配置文件
修改數據庫配置文件
vim
/home/work/apollo/portal
/config/application-github.properties
######修改portal數據庫地址以及用戶名密碼 spring.datasource.url = jdbc:mysql://xxxx:3306/ApolloPortalDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456
**修改訪問環境配置文件**
vim
/home/work/apollo/portal
/config/apollo-env.properties
######修改各環境的eureka訪問地址,僅培訓需要的環境,如果eureka配置集群模式,填入地址,使用逗號隔開。(更建議使用域名+負載均衡) dev.meta=http://xxxxx1:8080,http://xxxxx2:8080
修改日志文件
vim /home/work/apollo/portal/apollo-portal.conf
LOG_FOLDER=/data/apollo/log/
修改啟動日志文件
vim /home/work/apollo/portal/script/startup.sh
LOG_DIR=/data/apollo/log
**修改數據庫配置**
配置統一存儲在 ApolloPortalDB
.ServerConfig
表中
###允許支持多環境 `apollo.portal.envs`鍵值中,如需管理多個環境的話,使用逗號隔開 例如 "DEV,FAT,UAT,PRO" ###修改部門列表信息 `organizations`鍵值中,按照樣例修改可選部門信息 ###超級管理官 `superAdmin`鍵值中,擁有超級管理員權限用戶名,如需添加多個,用逗號隔開
- 啟動程序
/home/work/apollo/portal
/scripts/startup.sh
-
訪問配置管理頁面
訪問域名 : http://192.168.1.10:8070
默認用戶名 : apollo
默認密碼 : admin