Apollo-配置管理中心-安裝部署
Apollo(阿波羅)是攜程框架部門研發的分布式配置中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改后能夠實時推送到應用端,並且具備規范的權限、流程治理等特性,適用於微服務配置管理場景。
服務端基於Spring Boot和Spring Cloud開發,打包后可以直接運行,不需要額外安裝Tomcat等應用容器。
Java客戶端不依賴任何框架,能夠運行於所有Java運行時環境,同時對Spring/Spring Boot環境也有較好的支持。
.Net客戶端不依賴任何框架,能夠運行於所有.Net運行時環境。
環境准備
centos ==> 7+ mysql ==> 5.7+ java ==> 1.8+ Apollo==>1.7.1 2020/9/27 目前最新
1. 下載程序包地址
源代碼地址: https://github.com/ctripcorp/apollo/ 已編譯完成程序包: https://github.com/ctripcorp/apollo/releases config數據庫地址: https://github.com/ctripcorp/apollo/tree/master/scripts/sql https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql portal數據庫地址: https://github.com/ctripcorp/apollo/tree/master/scripts/sql https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
1)本次使用已編譯完成的程序包
#wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-adminservice-1.7.1-github.zip #wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-configservice-1.7.1-github.zip #wget https://github.com/ctripcorp/apollo/releases/download/v1.7.1/apollo-portal-1.7.1-github.zip
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 |
生產環境 |
2. 安裝Config Service和Admin Service
2.1導入數據庫
# mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS ApolloConfigDB DEFAULT CHARACTER SET = utf8mb4' # mysql -uroot -p ApolloConfigDB < ApolloConfigDB.sql
2.2安裝程序
# mkdir -p /opt/{apollo-config,apollo-admin} # unzip apollo-adminservice-1.7.1-github.zip -d /opt/apollo-admin/
2.3修改配置文件
vim /opt/apollo-config/config/application-github.properties ######修改config server數據庫地址以及用戶名密碼 spring.datasource.url = jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456 vim /opt/apollo-admin/config/application-github.properties ######修改admin server數據庫地址以及用戶名密碼 spring.datasource.url = jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456
2.4啟動程序
# /opt/apollo-config/scripts/startup.sh Sun Sep 27 17:01:52 CST 2020 ==== Starting ==== Started [25701] Waiting for server startup........................... Sun Sep 27 17:04:10 CST 2020 Server started in 135 seconds!/opt/apollo-admin/scripts/startup.sh # /opt/apollo-admin/scripts/startup.sh Sun Sep 27 17:04:35 CST 2020 ==== Starting ==== Started [26096] Waiting for server startup.......................... Sun Sep 27 17:06:47 CST 2020 Server started in 130 seconds!
2.5檢查啟動情況
打開網頁http://192.168.108.132:8080,查看是否有APOLLO-CONFIGSERVICE以及APOLLO-ADMINSERVICE成功注冊 使用命令 curl -X GET "http://192.168.108.132:8080/eureka/apps"檢查已注冊服務
3.安裝配置portal
3.1導入數據庫
#mysql -uroot -p -e 'CREATE DATABASE IF NOT EXISTS ApolloPortalDB DEFAULT CHARACTER SET = utf8mb4' #mysql -uroot -p ApolloPortalDB < ApolloPortalDB.sql
3.2安裝程序
#mkdir -p /opt/apollo-portal # unzip apollo-portal-1.7.1-github.zip -d /opt/apollo-portal/
3.3修改配置文件
修改數據庫配置文件 vim /opt/apollo-portal/config/application-github.properties ######修改portal數據庫地址以及用戶名密碼 spring.datasource.url = jdbc:mysql://127.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456 **修改訪問環境配置文件** vim /opt/apollo-portal/config/apollo-env.properties ######修改各環境的eureka訪問地址,僅培訓需要的環境,如果eureka配置集群模式,填入地址,使用逗號隔開。(更建議使用域名+負載均衡) dev.meta=http://192.168.108.132:8080,http://192.168.108.133:8080 **修改數據庫配置** 配置統一存儲在 ApolloPortalDB.ServerConfig 表中 ###允許支持多環境 `apollo.portal.envs`鍵值中,如需管理多個環境的話,使用逗號隔開 例如 "DEV,FAT,UAT,PRO" ###修改部門列表信息 `organizations`鍵值中,按照樣例修改可選部門信息 ###超級管理官 `superAdmin`鍵值中,擁有超級管理員權限用戶名,如需添加多個,用逗號隔開
3.4啟動程序
/opt/apollo-portal/scripts/startup.sh 訪問配置管理頁面 訪問域名 : http:// 192.168.108.132:8070 默認用戶名 : apollo 默認密碼 : admin 增加配置請查看官方git說明書 https://github.com/ctripcorp/apollo/wiki/Apollo使用指南 https://gitee.com/nobodyiam/apollo/wikis/Apollo使用指南?sort_id=1296981