在DC/OS中搭建本地UNIVERSE倉庫
如今,大家對手機App Store肯定不會陌生,同樣,如果你是Linux玩家,你一定對RPM和DEB倉庫也非常熟悉。Universe就是一個應用程序倉庫。
Universe倉庫中的應用既可以是為Mesos開發的應用調度框架,也可以是任意標準的Docker容器鏡像,它們都遵循Marathon的應用程序定義,可以直接部署到DC/OS中。目前Universe倉庫中有近百種應用,還在持續不斷的增加。
搭建理由
DC/OS中存在Universe倉庫,但它默認指向Mesosphere,從國內訪問速度會非常慢。如果是Docker容器鏡像應用還好,鏡像地址默認為DockerHub,可以通過阿里雲等鏡像地址進行加速。如果是Mesosphere維護的Kafka,Cassandra和HDFS等,應用構件會存放在S3上,下載速度非常慢。
因此,要在DC/OS中搭建本地Universe倉庫。一是加速Universe的訪問;二是可以預先將Kafka等的安裝構件下載到本地,修改Universe倉庫中對應的應用程序定義,將構件指向本地地址,便於快速部署和系統異常時的快速遷移恢復。
搭建步驟
編譯並構建倉庫鏡像
克隆Universe源碼到本地:
git clone https://github.com/mesosphere/universe.git
確認當前工作分支位於
version-3.x
上。實際應用中很可能需要自定義或Patch部分應用服務,因此,推薦Fork倉庫到自己的賬戶下。確保jsonschema工具在命令行環境中可用:
sudo pip install jsonschema
在Universe目錄下執行:
scripts/build.sh
確認倉庫編譯成功,此時在
docker/server/target
目錄下生成了倉庫的索引文件。按照下述命令生成Universe的容器鏡像文件
DOCKER_IMAGE="chrisrc/universe-server" DOCKER_TAG="0.0.1" docker/server/build.bash
執行下述命令將Universe鏡像推送到Docker Hub(或私有倉庫)
DOCKER_IMAGE="chrisrc/universe-server" DOCKER_TAG="0.0.1" docker/server/build.bash publish
部署本地Universe到DCOS
在上述編譯構建過程中的第3步,生成Universe索引文件的同時,在`docker/server/target`目錄下也生成了一個marathon.json文件。
根據需要調整上述JSON內容,然後執行下述命令在DCOS上部署一個本地的Universe(如何安裝DCOS CLI,請參考前述章節):
dcos marathon app add marathon.json
部署成功後,從DCOS控制台可以查看部署的Universe服務:
通過DCOS CLI或者UI配置使用本地Universe:
dcos package repo add --index=0 http://192.168.1.88:8085/repo
總結
注意,修改指向Mesosphere存儲的構件地址是一種臨時解決方案。此外,除了搭建本地Universe倉庫外,可以通過配置DC/OS的代理來加快Universe倉庫的訪問速度。
※Hashicorp Vault:安全性與複雜性的平衡
※DCOS中Jenkins動態Slave環境的配置與構建
※DCOS中的服務發現與負載均衡
TAG:領域修鍊之路 |
※30分鐘HYPERLEDGER搭建指南
※AMD YES!ITX神教之高顏值AMD主機搭建
※AMD YES ! ITX神教之高顏值AMD主機搭建
※CentOS7 搭建L2TP
※Docker搭建L2TP-VPN伺服器
※rasa NLU+CORE 搭建自己的智能客服
※在IIS里搭建FTP伺服器
※快速搭建CentOS+ASP.NET Core環境支持WebSocket
※CentOS搭建DNS伺服器實錄
※ASP .NET入門及其環境搭建
※白色版 Virgil Abloh x AJ1 發售日期變更,全新 KAWS 雕塑在卡達搭建 | HB Daily
※SHAREit CTO陳少為:15億用戶產品需要怎樣的架構搭建
※在 Windows 搭建 SVN 服務
※SDVOE方案的搭建與評測
※PC、移動端VPN搭建Shadowsocks一鍵安裝腳本
※集成主板搭建All In One家庭媒體中心-ESXI+黑群暉
※從零學習Spring MVC框架「環境搭建和MVC架構」
※ISRO成功發射新衛星 地區GPS系統搭建完成
※Linux搭建ISCSI存儲伺服器
※Linux中DNS伺服器搭建