Juju无法使用MAAS部署服务

我想在MAAS环境中部署一个或多个带juju的魅力(没有OpenStack)。 MAAS控制器的环境是Ubuntu 12.10,带有2个NIC。 其中一个NIC连接到外部DHCP,另一个由MAAS-dhcp保持,并连接到具有2个客户端服务器(Ubuntu 12.04 LTS)的交换机。 设置如下

$ sudo vim / etc / network / interfaces

自动em1

iface em1 inet static

地址[out-ip]

网络掩码[out-netmask]

网关[out-gateway]

dns-nameservers [out-dns]

自动em2

iface em2 inet static

地址[内部IP]

网络[内部网络]

网络掩码[内部网络掩码]

广播[内部广播地址]

$ sudo vim /etc/sysctl.conf

取消注释net.ipv4.ip_forward = 1

$ sudo vim /etc/rc.local

/ sbin / iptables -P FORWARD ACCEPT

/ sbin / iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ sudo iptables -P FORWARD ACCEPT

$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ sudo /etc/init.d/networking restart

$ sudo dpkg-reconfigure maas-region-controller

[内部ip]

$ sudo dpkg-reconfigure maas-cluster-controller

http:// [内部ip]:80 / MAAS

$ sudo vim / etc / maas / ephmeralss

设置ARCHES =“amd64”

$ sudo maas createsuperuser

$ sudo maas-impoart-pxe-files

打开Web UI(http:// [内部IP] / MAAS)并按设置按钮并设置群集控制器

$ sudo vim / var / share / preseeds / preseed-master …

打开电脑让客户设置为就绪状态(不要按’START NODE’按钮)

检查节点是否都处于READY状态

MAAS客户都处于准备状态:

设置juju environments.yaml

juju bootstrap(检查其中一个节点 – >分配给*

打开分配的服务器到PXE启动并设置一个Ubuntu

安装后

juju身份

machines: 0: agent-state: running dns-name: node-4487fc70b037 instance-id: /MAAS/api/1.0/nodes/node-xxx instance-state: unknown service{} 

当我尝试部署一个魅力(例如mysql)时,另一个客户端被启动并安装ubuntu。 但是,安装后,魅力仍未部署。 我尝试:

juju身份

 machines: 0: agent-state: running dns-name: node-4487fc70b037 instance-id: /MAAS/api/1.0/nodes/node-64248652-6a9b-11e2-9347-842b2b6a17a3/ instance-state: unknown 1: agent-state: not-started dns-name: node-0025b31884f5 instance-id: /MAAS/api/1.0/nodes/node-011c5b14-6a9d-11e2-9c04-842b2b6a17a3/ instance-state: unknown services: mysql: charm: cs:precise/mysql-15 relations: {} units: mysql/0: agent-state: pending machine: 1 public-address: null 

我还检查了机器1(非启动机器)的/var/log/juju/machine-agent.log,它显示了

 2013-01-30 01:19:58,444: twisted@ERROR: Unhandled error in Deferred: 2013-01-30 01:19:58,454: twisted@ERROR: Unhandled Error Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1181, in unwindGenerator return _inlineCallbacks(None, gen, Deferred()) File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1039, in _inlineCallbacks result = g.send(result) File "/usr/lib/python2.7/dist-packages/juju/agents/base.py", line 238, in startService yield self.connect() File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1181, in unwindGenerator return _inlineCallbacks(None, gen, Deferred()) ---  --- File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1039, in _inlineCallbacks result = g.send(result) File "/usr/lib/python2.7/dist-packages/juju/agents/base.py", line 208, in connect self.config["zookeeper_servers"]) File "/usr/lib/python2.7/dist-packages/txzookeeper/retry.py", line 302, in connect return self.client.connect(*args, **kw) File "/usr/lib/python2.7/dist-packages/txzookeeper/client.py", line 468, in connect self._servers, callback, self._session_timeout) zookeeper.ZooKeeperException: Could not internally obtain zookeeper handle 

我等了一天,它一直在等待 。 机器1也保持未启动状态。 我还检查了两个客户,他们都很好。 但是,我不能使用juju ssh 1连接到客户端。 我真的不知道该怎么办。 请帮我。

机器1无法连接到机器0上的ZK过程。这可能有很多原因; DNS问题,防火墙问题等

我会ssh到机器1并尝试手动连接到在机器0上运行的Zookeeper(使用telnet),看看你是否可以确定确切的问题。

我认为这可能与mDNS有关。 我也遇到了同样的问题。

默认情况下启用mDNS我无法解析machine-0 / zk主机名! 然而,我的DNS工作正常,使用挖掘。

只有当它通过mdns层时才会导致超时/挂起。 它在使用非FQDN时似乎有用,当使用FQDN时, 即使是已知的FQDN,它出于某种原因首先寻找avahi? 需要深入挖掘。

编辑:我发现问题是avahi优先于.local域,即使它是子域。 我正在寻找一种让avahi黑名单成为域名的方法,我们可能需要为黑名单域选项提供补丁。

尝试更改/etc/nsswitch.conf以不使用带有NOTFOUND = return的mDNS,即使主机:line:hosts:files dns mdns4

或编辑MaaS的通用预置,并从自动安装列表中删除avahi-daemon。

在每台机器中手动添加主机名( /etc/hosts )后,juju在服务器1上成功部署了该服务。