2015-10-28 2 views
2

У меня возникли некоторые проблемы с попыткой запустить mesos-dns, закрепленные на кластере мезос.Настройка Mesos-DNS, закрепленная на кластере мезос

Я установил 2 виртуальных машины с надежным ubuntu на хосте Windows 8.1. Мои виртуальные машины называются docker-vm и docker-sl-vm; где первый запускает mesos-master, а второй - mesos-slave.

VM имеют 2 сетевых карты; один работает NAT для доступа через интернет через хост, а другой - адаптер только для хоста для внутренней связи.

ИПС для виртуальных машин являются:

  • 192.168.56.101 для докер-ут
  • 192.168.56.102 для докер-СЛ-ут

Хорошо работает кластер MESOS.

Я стараюсь следовать this tutorial. Итак, я бегу Mesos-Dns со следующим описанием: марафонской

{ 
    "args": [ 
     "/mesos-dns", 
     "-config=/config.json" 
    ], 
    "container": { 
     "docker": { 
      "image": "mesosphere/mesos-dns", 
      "network": "HOST" 
     }, 
     "type": "DOCKER", 
     "volumes": [ 
      { 
       "containerPath": "/config.json", 
       "hostPath": "/usr/local/mesos-dns/config.json", 
       "mode": "RO" 
      } 
     ] 
    }, 
    "cpus": 0.5, 
    "mem": 256, 
    "id": "mesos-dns", 
    "instances": 1, 
    "constraints": [["hostname", "CLUSTER", "docker-sl-vm"]] 
} 

и этот config.json:

{ 
    "zk": "zk://192.168.56.101:2181/mesos", 
    "refreshSeconds": 60, 
    "ttl": 60, 
    "domain": "mesos", 
    "port": 53, 
    "resolvers": ["8.8.8.8"], 
    "timeout": 5, 
    "email": "root.mesos-dns.mesos" 
} 

Я также работает приложение тест предложение под названием заглядывать с последующим описанием:

{ 
    "id": "peek", 
    "cmd": "env >env.txt && python3 -m http.server 8080", 
    "cpus": 0.5, 
    "mem": 32.0, 
    "container": { 
    "type": "DOCKER", 
    "docker": { 
     "image": "python:3", 
     "network": "BRIDGE", 
     "portMappings": [ 
     { "containerPort": 8080, "hostPort": 0 } 
     ] 
    } 
    } 
} 

ПРОБЛЕМА

В учебнике, команда рыть такие как dig _peek._tcp.marathon.mesos SRV получил следующий ответ:

; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> _peek._tcp.marathon.mesos SRV 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57329 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 

;; QUESTION SECTION: 
;_peek._tcp.marathon.mesos. IN SRV 

;; ANSWER SECTION: 
_peek._tcp.marathon.mesos. 60 IN SRV 0 0 31000 peek-27346-s0.marathon.mesos. 

;; ADDITIONAL SECTION: 
peek-27346-s0.marathon.mesos. 60 IN A 10.141.141.10 

;; Query time: 4 msec 
;; SERVER: 127.0.0.1#53(127.0.0.1) 
;; WHEN: Sat Oct 24 23:21:15 UTC 2015 
;; MSG SIZE rcvd: 160 

Где мы можем ясно видеть порт и IP связан с _peek._tcp.marathon.mesos SRV, НО когда я запускаю это на моей машине работорговли - которая работает этот контейнер - я получаю этот результат:

[email protected]:~$ dig _peek._tcp.marathon.mesos SRV 

; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> _peek._tcp.marathon.mesos SRV 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 33415 
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 

;; OPT PSEUDOSECTION: 
; EDNS: version: 0, flags:; udp: 1280 
;; QUESTION SECTION: 
;_peek._tcp.marathon.mesos. IN SRV 

;; AUTHORITY SECTION: 
.   10791 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015102801 1800 900 604800 241 

;; Query time: 1 msec 
;; SERVER: 10.10.11.1#53(10.10.11.1) 
;; WHEN: Wed Oct 28 17:06:30 BRT 2015 
;; MSG SIZE rcvd: 129 

Это выглядит как mesos-dns не может решить _peek._tcp.marathon.mesos SRV.

Кто-нибудь знает, почему и как его исправить?

Спасибо заранее ...

UPDATE

Результат команды /etc/resolv.conf:

nameserver 10.10.11.1 
nameserver 10.10.10.7 
+0

Я автор этого учебника. Извините, что у вас проблемы. Что дает вам 'cat/etc/resolv.conf'? –

+0

Эй, Майкл! Спасибо за ваш учебник и за ваш ответ! Я просто обновил вопрос с вашего запроса. – RafaelTSCS

+0

Я читал о некоторых людях, которые столкнулись с проблемой witn ubuntu, docker и dns вместе. Porblemas относится к dnsmasq, используя порт 53. Итак, я отключил его, но результатов не получил. – RafaelTSCS

ответ

1

взглянуть на Mesos DNS docs о работорговли Setup:

Чтобы разрешить Mesos задачи использовать Mesos-DNS в качестве первичного DNS-сервера, вы должны отредактировать файл.в каждом подчиненном устройстве и добавьте новый сервер имен. Например, если mesos-dns запускается на сервере с IP-адресом 10.181.64.13, вы должны добавить сервер имен строк 10.181.64.13 в начале /etc/resolv.conf на каждом подчиненном узле.

Я думаю, что локальный IP (192.168.56.102) адрес отсутствует в вашем /etc/resolv.conf.

В противном случае вы также можете попробовать my minimal Mesos DNS image, но вам все равно придется редактировать вышеуказанный файл.

+0

Я сделал изменения, и это не сработало, но оно сработало с вашим изображением !! – RafaelTSCS

Смежные вопросы