安装 conjure-up openstack 后,使用默认的 2 个镜像(trusty-lxd 和 xenial-lxd)创建实例,但实例控制台显示“控制台当前不可用。请稍后重试。”,并尝试使用 ssh 连接[电子邮件保护]返回“ssh:连接到主机 10.99.0.14 端口 22:没有到主机的路由”
ub14 trusty-lxd 10.99.0.15 m1.small - 活动 nova 无 运行 30 分钟
ub16test xenial-lxd 10.99.0.14 m1.medium - 活动 nova 无 运行 34 分钟
日志以以下消息结尾:-----END SSH HOST KEY KEYS----- [35802.789041] cloud-init[330]: Cloud-init v. 0.7.9 于 2017 年 3 月 4 日星期六 00:04:04 +0000 运行“modules:final”。耗时 430.0 秒。[35802.789188] cloud-init[330]: ci-info: 未找到用户 ubuntu 的授权 ssh 密钥指纹。[35802.789266] cloud-init[330]: Cloud-init v. 0.7.9 于 2017 年 3 月 4 日星期六 00:04:04 +0000 完成。数据源 DataSourceNone。耗时 430.0 秒 [35802.789325] cloud-init[330]: 2017-03-04 00:04:04,084 - cc_final_message.py[警告]: 已使用后备数据源 [确定] 已开始执行云用户/最终脚本。[确定] 已达到 Cloud-init 目标。
Ubuntu 16.04.2 LTS Ubuntu 控制台
Ubuntu 登录:
答案1
我们从这种情况开始,分配一个浮动 IP
在安装了 Openstack 的机器上,通过 conjure 检查 juju 环境的状态
$: juju status
寻找专用于 nova-compute 的容器,
在我的情况下,机器是 13,它自己的 IP 地址是 10.0.8.85
nova-compute/0* active idle 13 10.0.8.85 Unit is ready
现在你需要列出使用 lxc 创建的容器
$: lxc list
找到 lxc 中用于该 IP 的名称 (10.0.8.85)。现在运行:
$: lxc exec juju-d30ce2-13 bash
root@juju-d30ce2-13:~#
从那里跑
$: lxc list
在那里你再次找到了通过 Openstack 创建的实例
$: lxc exec instance-00000005 -- bash
最后一步是编辑 ssh_config 文件
$: nano /etc/ssh/ssh_config
现在你可以进行 ssh 连接了
$: ssh [email protected]
The authenticity of host '10.99.0.7 (10.99.0.7)' can't be established.
ECDSA key fingerprint is SHA256:BGh/0LipzF3IgfaHwwKl2gl45uy9h3ctS5w/h469Om4.
Are you sure you want to continue connecting (yes/no)? yes
就是这样。
答案2
LXD 容器没有控制台设备。列出容器名称:
lxc list
然后连接到一个:
lxc exec <container_name> bash