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上成功部署了该服务。