单个AWS EC2实例上的dcos-docker集群

时间:2018-08-13 04:36:22

标签: amazon-web-services docker mesos marathon dcos

让我们假设EC2实例的私有IP为10.0.0.1 我已经按照本教程创建了dcos群集

https://dcos-e2e.readthedocs.io/en/latest/dcos-docker-cli.html

使用以下命令

dcos-docker create /tmp/dcos_generate_config.sh \
    --masters 1 \
    --agents 2 \
    --public-agents 1 \
    --cluster-id dspg --wait-for-dcos \
    --one-master-host-port-map  80:80

它将创建1个主要的2个私人代理和1个公共代理,然后添加了marathon-lb来公开该应用程序。然后添加了一个简单的rest微服务。 它创建了4个ip范围为172.0.0.1至172.0.0.4的docker机器 问题在于,我只能使用curl将aws机器上的url访问到公共代理,并获取其余服务的输出。

curl http://172.0.0.1:3000/test

其中3000是在马拉松json中配置的hostPort

即使我无法使用EC2实例privatee ip进行卷曲 1. curl http://10.0.0.1:3000/test 端口3000拒绝连接

  1. curl http://10.0.0.1:10000/test 其中10000是在马拉松json中配置的servicePort

还尝试通过浏览器使用EC2公共IP。

如何公开此端口或通过浏览器访问的方式是什么?

服务马拉松json

{
      "id": "/test",
      "container": {
        "type": "DOCKER",
        "docker": {
          "image": "testrepository/test",
                  "forcePullImage": true,
          "privileged": false,
          "network": "BRIDGE",
          "portMappings": [
                    {
                        "containerPort": 9292,
                        "protocol": "tcp",
                                                "hostPort": 3000,
                                                "servicePort": 10000,
                                                "labels": {},
                                                "name": "test80"
                    }
                ]
        }
      },
      "instances": 1,
      "cpus": 1,
          "acceptedResourceRoles": ["slave_public"],
      "mem": 512
}

0 个答案:

没有答案