【问题标题】:dcos install package to local universedcos 将软件包安装到本地 Universe
【发布时间】:2017-10-24 02:03:10
【问题描述】:
我有一个运行“universe”本地实例的 DC/OS 集群。将自定义包添加到本地“宇宙”的具体程序是什么?到目前为止,我发现的唯一文档(非常有限)与将包添加到全局 Universe 存储库有关。虽然这对 DC/OS 社区来说非常有用,但对于维护私有 Universe 和存储库没有帮助。
我找到的唯一程序说:
1-创建公共宇宙回购的一个分支:https://github.com/mesosphere/universe
2-创建自定义包,然后将其重新提交回社区。p>
这不是我所期望看到的。我希望有一个简单的本地包创建过程。有这种事吗?
谢谢,
高兔
【问题讨论】:
标签:
package
mesos
mesosphere
dcos
【解决方案1】:
-
fork this Universe repo 并克隆 fork:
git clone https://github.com/<user>/universe.git /path/to/universe
将您的包添加到正确文件夹中的 repo。编写必要的标记文件
(config.json、marathon.json.mustache、resource.json、package.json 等)
-
运行验证和构建脚本以验证和构建 Universe 工件:
scripts/build.sh
这会验证您添加的文件的语法。
-
构建 Universe 服务器 Docker 映像:
DOCKER_TAG="my-package" docker/server/build.bash
这将创建本地 Universe(ngnix 服务器)的 docker 映像和 marathon.json 以启动 Universe 服务器。
-
运行 Universe 服务器
dcos marathon app add marathon.json
-
将 DC/OS 指向本地 Universe 服务器
dcos package repo add --index=0 dev-universe http://universe.marathon.mesos:8085/repo
-
在 DC/OS 集群中安装新添加的软件包
dcos package install new_package
【解决方案2】:
您想将包添加到您的本地宇宙,对吗(即,不是中间层宇宙)?
在这种情况下,在创建自定义包之后(是的,应该有更好的文档...),您可以将此本地/自定义 Universe 添加到 DC/OS 集群:https://dcos.io/docs/1.7/usage/repo/#adding
一般来说,你甚至不必分叉宇宙:一个包 repo 基本上是一个简单的文件夹结构。查看 Universe_builder.py here :它构建一个 zip 文件,将其上传到 S3,然后您可以将其添加为如上所述的新包存储库(以及作为脚本的输出)。
总体感觉是贡献并帮助帮助改进文档!