SSH到DC / OS创build公共代理节点以部署Docker容器?

问:我希望通过SSH进入DC / OS公共代理程序来使用Docker凭证来挂载我的文件共享,以便通过Marathon部署Docker。 我怎样才能直接ssh到这个代理节点? 没有通过主人?


Backstory:我在Azure上做了一个vanilla DC / OS安装。 我有两个节点供应(主人和代理)。 我在主人身上安装了马拉松。

首先 ,我尝试通过Marathon在Azure Container Registry上创build的映像/回购库部署容器。 由于CPU资源不满足而失败; 这部分是可以理解的,因为看起来Marathon似乎吸收了主节点的整个CPU。 但我无法弄清楚如何让Marathon注意到周围还有另一个节点 – 公共代理节点。 公共代理节点没有运行。

其次 ,我想我可以直接使用DC / OS层本身提供的“服务”接口(我相信这只是一个用于马拉松或类似的UI层)。

这一次,它准确地识别代理节点,并且有可用计算。 但为了让它从我的私人registry中拉出,我需要把我的Docker凭证放在这个节点上。 这里是我卡住的地方。 无法通过SSH连接到代理节点以挂载共享存储(已安装在主服务器上)。 由于此节点是通过虚拟机规模集进行configuration的,所以我实际上无法弄清楚正确的入站NAT规则和networking安全configuration,以便映射到此节点,并为我提供可靠的FQDN和端口,从而使我能够进入SSH并运行cifs 。 老实说,DC / OS应该为我照顾这个,因为我正在做最标准的事情。

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

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

(所有来自微软的精心制作的VMSSvideo都是针对旧界面的,而这种端口范围映射的想法,我似乎无法从CLI中find,而且入口NAT规则的门户网站仍在进行中)

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


更新 :Fwiw,事实certificate,我尝试了在Azure服务的预览DC / OS ,而Azure容器服务 ,这是稍微不稳定的DC / OS 。 通过主DC / OS上的“服务”界面启动容器,而不是在Marathon上。

我真的不知道正确的入站NAT规则和networking安全configuration映射到这个节点,让我一个可靠的FQDN和端口,这将允许我SSH和运行CIFS。

现在,我们可以通过CLI 2.0将入站规则添加到VMss负载均衡器,但是我们不能使用CLI 2.0来configuration目标NIC,所以我们不能使用NAT来ssh VMss实例。 在这里输入图像说明

如果你在这个VMSS中只有一个实例,我们可以添加一个负载平衡器规则来ssh它。 添加端口22的探测器,并添加22的负载均衡器规则,之后我们可以通过端口22来扫描VMSS公共IP地址。

另一种方式,loginDCOS节点,我们可以通过master ssh到其他节点 。 例如,我们可以ssh来掌握ssh到公共代理。 在这里输入图像说明 这里有一个案例讲述如何通过masterloginDCOS代理 ,请参考。

之后,我们可以按照本文 将Azure文件共享加载到群集节点。

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

你能否描述你正在努力达到的目标? 你确实描述了你所做的事情,而这一切似乎相当。 这里似乎有两件事情:

1)使用ACR与DC / OS – https://docs.microsoft.com/en-us/azure/container-service/container-service-dcos-acr

2)提供对公共容器的访问 – 请参阅https://docs.microsoft.com/en-us/azure/container-service/container-service-enable-public-access

如果这些没有给你你需要的东西,请编辑你的问题来描述你正在努力达到的目标。