gpt4 book ai didi

dns - 在 mesos 集群上设置 Mesos-DNS dockerized

转载 作者:行者123 更新时间:2023-12-02 18:33:07 30 4
gpt4 key购买 nike

我在尝试在 mesos 集群上运行 mesos-dns dockerized 时遇到了一些麻烦。

我在 Windows 8.1 主机上设置了 2 个 ubuntu 可信赖的虚拟机。
我的虚拟机被称为 docker 虚拟机 docker -sl-vm ;第一个运行 mesos-master,第二个运行 mesos-slave。

虚拟机有 2 个网卡;一个运行 NAT 以通过主机访问互联网,另一个是用于内部通信的仅主机适配器。

虚拟机的 IP 是:

  • 192.168.56.101 对于 docker 虚拟机
  • 192.168.56.102 对于 docker -sl-vm

  • 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

    这里我们可以清楚的看到 _peek._tcp.marathon.mesos SRV绑定(bind)的端口和IP , 但是 当我在我的从属机器上运行它时——它正在运行这个容器——我得到这个结果:
    docker@docker-sl-vm:~$ 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。

    有谁知道为什么以及如何解决它?

    先感谢您...

    更新

    命令结果 /etc/resolv.conf :
    nameserver 10.10.11.1
    nameserver 10.10.10.7

    最佳答案

    看看Mesos DNS docs关于从站设置:

    To allow Mesos tasks to use Mesos-DNS as the primary DNS server, you must edit the file /etc/resolv.conf in every slave and add a new nameserver. For instance, if mesos-dns runs on the server with IP address 10.181.64.13, you should add the line nameserver 10.181.64.13 at the beginning of /etc/resolv.conf on every slave node.



    我认为您的 192.168.56.102 中缺少本地 IP ( /etc/resolv.conf ) 地址.

    否则你也可以试试 my minimal Mesos DNS image ,但您仍然需要编辑上述文件。

    关于dns - 在 mesos 集群上设置 Mesos-DNS dockerized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33401101/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com