Hi,
I can’t access my application using mesos-dns.  Neither port 8123 nor 8080 
responding. I think I miss something in configuration but can’t find problem  
myself.

I have a very basic java application that listen on port 8080. I have created 
docker image and deployed this application to marathon.
My deployment configuration is following:
$ cat app-slick.json
{
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "edvorkin/slick-swagger:1",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 8080, "hostPort": 0, "servicePort": 9000, 
"protocol": "tcp" }
      ]
    }
  },
  "cmd": "java -jar /tmp/spray-slick-swagger-assembly-0.0.2.jar Boot",
  "id": "slick-swagger-demo",
  "instances": 1,
  "cpus": 0.1,
  "mem": 256,
  "constraints": [
    ["hostname", "UNIQUE"]
  ]
}
Application successfully deployed to 2 nodes and assigned random port of 31990 
and 31000 on each node.
Now I installed and configured Mesos-DNS with config.json
{
"zk": "zk://172.31.50.58:2181,172.31.50.59:2181,172.31.50.60:2181/mesos",
  "refreshSeconds": 60,
  "ttl": 60,
  "domain": "mesos",
  "port": 53,
  "resolvers": ["172.31.0.2"],
  "timeout": 5,
  "email": "root.mesos-dns.mesos"
}


and I got following:

$ dig slick-swagger-demo.marathon.mesos

; <<>> DiG 9.9.4-RedHat-9.9.4-18.el7_1.1 <<>> slick-swagger-demo.marathon.mesos
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20376
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;slick-swagger-demo.marathon.mesos. IN  A

;; ANSWER SECTION:
slick-swagger-demo.marathon.mesos. 60 IN A      172.31.11.202
slick-swagger-demo.marathon.mesos. 60 IN A      172.31.11.203

;; Query time: 1 msec
;; SERVER: 54.86.164.193#53(54.86.164.193)
;; WHEN: Thu Jul 16 15:23:04 UTC 2015
;; MSG SIZE  rcvd: 83


 curl http://localhost:8123/v1/services/_slick-swagger-demo._tcp.marathon.mesos 
 |python -m json.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   289  100   289    0     0   1916      0 --:--:-- --:--:-- --:--:--  1926
[
    {
        "host": "slick-swagger-demo-15491-s42.marathon.mesos.",
        "ip": "172.31.11.203",
        "port": "31990",
        "service": "_slick-swagger-demo._tcp.marathon.mesos"
    },
    {
        "host": "slick-swagger-demo-20495-s43.marathon.mesos.",
        "ip": "172.31.11.202",
        "port": "31000",
        "service": "_slick-swagger-demo._tcp.marathon.mesos"
    }
]

But when I try to access my application using dns name, I can’t get get 
response.
curl http://slick-swagger-demo.marathon.mesos:8080
curl: (7) Failed connect to slick-swagger-demo.marathon.mesos:8080; Connection 
refused

curl slick-swagger-demo.marathon.mesos:8123
404: Page Not Found

curl slick-swagger-demo.marathon.mesos:31990 – produce desired results, but 
that binded to a random port.

How do I configure mapping between random ports and my service?
I would like to be able to access my server on port 80 for example
Curl http://slick-swagger-demo.marathon.mesos

Thanks
Eugene





----------------------------------------------------------------------
This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, notify the sender immediately by return email and delete the message 
and any attachments from your system.

Reply via email to