MAAS/VirtualBox 调用“http://169.254.169.254/2009-04-04/meta-data/instance-id”失败并且 SSH 失败

MAAS/VirtualBox 调用“http://169.254.169.254/2009-04-04/meta-data/instance-id”失败并且 SSH 失败

设置

为了测试目的,我在 VirtualBox VM 中安装了 MAAS,并且希望它通过 PXE 启动第二台 VM。

两个虚拟机都连接到 VirtualBox 内部网络。

MAAS VM 是 Ubuntu Server 14.04.2,我安装了以下软件包的 1.7.5+bzr3369-0ubuntu1~trusty1 版本:

maas
maas-region-controller
maas-cluster-controller
maas-dhcp
maas-dns

在 MAAS GUI 的“图像”部分,我从默认存档中添加了 14.04 LTS 图像(http://archive.ubuntu.com/ubuntu)。然后默认集群(“集群主服务器”)便能够成功同步。

在 MAAS VM 上,我还生成了 ssh 密钥并将ssh-keygen其保存在默认位置 (~/.ssh/)。然后在 GUI 的用户首选项部分,我添加了 SSH 公钥。

在 GUI 的“集群”部分,我向“集群主控”添加了一个接口 (eth2),并将其配置为管理 dhcp 和 dns。接口 eth2 连接到另一台虚拟机(通过 VirtualBox 内部网络)。

在 GUI 中,我向“默认集群”添加了一个节点,并将“电源类型”留空,因为局域网唤醒不适用于 VirtualBox。

问题

手动启动客户端虚拟机后,它会获取 IP 地址并成功开始启动过程。然而,在某个时刻,它会挂起整整 120 秒,并重复显示以下消息多次:

url_helper.py[警告]: 调用'http://169.254.169.254/2009-04-04/meta-data/实例 ID' 失败 [70/120 秒]: 请求错误 [HTTPConnectionPool(host='169.254.269.254', port=80): url 的最大重试次数超出: /2009-04-04/meta-data/instance-id (原因: [Errno 101] 网络不可达)]

在网上阅读了这篇文章后,我发现由于这是 Ubuntu 的云映像,因此它正在尝试检索实例元数据。

1)我该如何禁用这种行为?

2)我该如何运行元数据(cloud-init?)服务(在哪里?在 MAAS VM 上?)来提供实例元数据?

我不确定这是否与第一个问题有关。120 秒后,启动过程恢复,并出现登录提示。在网上阅读后,我发现我无法本地登录。相反,我必须通过 ssh 和公钥身份验证进行连接。如上所述,我已经生成了 ssh 密钥并将其添加到 MAAS,但我的 ssh 连接被拒绝。

test@ubuntuServer1404:~$ ssh [email protected] -v
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.7.101 [192.168.7.101] port 22.
debug1: Connection established.
debug1: identity file /home/test/.ssh/id_rsa type 1
debug1: identity file /home/test/.ssh/id_rsa-cert type -1
debug1: identity file /home/test/.ssh/id_dsa type -1
debug1: identity file /home/test/.ssh/id_dsa-cert type -1
debug1: identity file /home/test/.ssh/id_ecdsa type -1
debug1: identity file /home/test/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/test/.ssh/id_ed25519 type -1
debug1: identity file /home/test/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 06:16:8e:d2:22:3a:0b:67:64:3d:7b:17:69:fb:ee:29
debug1: Host '192.168.7.101' is known and matches the ECDSA host key.
debug1: Found key in /home/test/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/test/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/test/.ssh/id_dsa
debug1: Trying private key: /home/test/.ssh/id_ecdsa
debug1: Trying private key: /home/test/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

任何帮助都值得感激。谢谢。

答案1

我遇到了同样的问题,这是因为 maas 配置了错误的 IP(我第一次构建机器时是 DHCP)。运行后问题得到解决

dpkg-reconfigure maas-region-controller 

并提供正确的IP。

相关内容