SSH进入DC / OS创建的公共代理节点以部署Docker容器?

时间:2017-06-12 01:45:03

标签: azure docker marathon dcos

问:我希望通过SSH连接到DC / OS公共代理程序以使用Docker凭据挂载我的文件共享,因此我可以通过Marathon部署Docker。 如何直接ssh到此代理节点?不通过master?

背景故事:我在Azure上安装了vanilla DC / OS。我配置了两个节点(主节点和代理)。我在主人身上安装了Marathon。

首先,我尝试通过Marathon在Azure容器注册表中创建的映像/存储库中部署容器。由于CPU资源不满意而失败;这部分可以理解,因为看起来Marathon糟透了主节点的整个CPU。但我无法弄清楚如何让Marathon注意到周围还有另一个节点 - 公共代理节点。公共代理程序节点什么都不运行。

第二次,我想我可以使用DC / OS层本身提供的“服务”界面(我相信它只是马拉松或类似的UI层)。

这次,它可以准确识别代理节点并且可以使用计算。但是要从私有注册表中获取它,我需要将我的Docker凭据放在此节点上。这是我被卡住的地方。无法通过SSH连接到代理节点以挂载共享存储(已安装在主服务器上)。由于此节点是通过虚拟机规模集配置的,因此我无法确定正确的入站NAT规则和网络安全配置以映射到此节点并为我提供可靠的FQDN和端口,这将允许我在SSH中运行并运行cifs。老实说,DC / OS应该为我照顾这个,因为我做的是最标准的事情。

我尝试了这个,但它不够/正确(即使它创建了规则):

az network lb inbound-nat-rule create --resource-group production --lb-name <lb-name> --name NATRule --protocol TCP --frontend-port 2200 --backend-port 22

(来自Microsoft的所有精心制作的VMSS视频都是针对旧界面的,以及端口范围映射的这种想法,我似乎无法从CLI中弄清楚。此外,门户网站在入站时仍在进行中NAT规则)

我是Azure和DC / OS世界的新手(从AWS移动资源),所以我很感激帮助。

更新:Fwiw,我在Azure 服务上尝试了预览 DC / OS,而不是Azure容器服务上的 DC / OS < / em>,这仍然有点不稳定。通过主DC / OS上的“服务”界面而不是Marathon启动容器。

2 个答案:

答案 0 :(得分:1)

  

我真的无法弄清楚正确的入站NAT规则和网络   安全配置映射到此节点并获得可靠的FQDN   和端口,允许我SSH并运行cifs。

目前,我们可以通过CLI 2.0向VMss负载均衡器添加入站规则,但我们无法使用CLI 2.0来分离目标NIC,因此我们无法使用NAT来ssh VMss实例。 enter image description here

如果您在此VMSS中只有一个实例,我们可以添加负载均衡器规则来ssh它。添加端口22的探测,并添加22的负载均衡器规则,之后我们可以使用端口22 ssh VMSS公共IP地址。

另一种方法是,要登录DCOS节点,我们可以通过master ssh到其他节点。例如,我们可以ssh掌握然后ssh到公共代理。 enter image description here 这里有一个案例讨论如何通过主人登录DCOS代理,请参考it

之后,我们可以将此article 装载Azure文件共享关注到您的群集节点。

顺便说一下,我们可以通过DC / OS UI创建容器,请参考it

答案 1 :(得分:1)

Can you please describe what you are trying to achieve. You do describe what you have done and it all seems rather. There seem to be two things here:

1) Use ACR with DC/OS - https://docs.microsoft.com/en-us/azure/container-service/container-service-dcos-acr

2) Provide access to a public container - see https://docs.microsoft.com/en-us/azure/container-service/container-service-enable-public-access

If these don't give you what you need please edit your question to describe what you are trying to achieve.