【发布时间】:2017-06-13 15:17:15
【问题描述】:
问:我希望通过 SSH 连接到 DC/OS 公共代理以使用 Docker 凭据挂载我的文件共享,这样我就可以通过 Marathon 部署 Docker。 我怎样才能直接 ssh 到这个代理节点?不通过主节点?
背景故事:我在 Azure 上安装了原版 DC/OS。我配置了两个节点(一个主节点和一个代理)。我在master上安装了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
(来自微软的所有精心制作的 VMSS 视频都是针对旧界面的,以及端口范围映射的这种想法,我似乎无法从 CLI 中弄清楚。另外,当涉及到入站时,门户仍在进行中NAT 规则)
我是 Azure 和 DC/OS 领域的新手(从 AWS 迁移资源),因此我将不胜感激。
更新:结果我尝试了预览版 DC/OS on Azure 服务,而不是 DC/OS on Azure Container Service,它仍然有点不稳定。通过主 DC/OS 而不是 Marathon 上的“服务”界面启动容器。
【问题讨论】:
标签: azure docker marathon dcos