如何在azure容器服务中与mesos&marathon安全地共享私有docker repo登录凭据

vsmadaxz  于 2021-06-26  发布在  Mesos
关注(0)|答案(3)|浏览(214)

我已经使用dc/os+marathon设置了azure容器服务来部署docker容器。到目前为止看起来还不错,我可以使用ssh隧道连接到主节点,访问mesos和marathonwebui以及restapi。
接下来,我尝试从我的私有docker存储库部署docker容器,我在marathon网站上找到了以下文章。
https://mesosphere.github.io/marathon/docs/native-docker-private-registry.html
请参阅以上网址的“备注”部分-
注意:uri必须能被所有可能启动应用程序的节点访问。方法可以包括例如通过rsync/scp将文件分发到所有节点的本地文件系统,或者将其存储在共享网络驱动器(例如amazons3)上。值得考虑您选择的方法的安全影响。
azure为在所有节点上共享docker.tar.gz文件提供了哪些选项?
谢谢

quhf5bfb

quhf5bfb1#

一种方法是使用脚本遍历集群中的代理。看一看https://github.com/rgardler/acs-cli 做一些这样的实验。

mlnl4t2r

mlnl4t2r2#

把你的 docker.tar.gz 到azure存储并创建签名的url。我已经使用azure存储资源管理器创建了一个。
输出;
https://xyzds.file.core.windows.net/docker/docker.tar.gz?...url-params
您需要添加文件扩展名才能提取它。
x=.tar.gz "uris": [ "https://xyzds.file.core.windows.net/docker/docker.tar.gz?...url-params&x=.tar.gz" ] 你可以走了。

kfgdxczn

kfgdxczn3#

我们做这件事的方法是 parallel-scp 把文件传给我们所有的mesos探员,比如:

parallel-scp -h ~/pssh_all_ips ./docker.tar.gz /etc/docker.tar.gz

哪里 pssh_all_ips 是内部ip地址的换行分隔文件( 10.0.*.* 或者 10.32.*.* 在我们的情况下)。
你可以在找到你的代理 localhost:2000/mesos/#/slaves 如果你进入你的集群)。
这使文件在 file:///etc/docker.tar.gz 在所有代理上,您可以使用marathon的uri字段使docker pull系统可以使用它。

相关问题