conjure-up openstack 启动实例无需控制台和 ssh

conjure-up openstack 启动实例无需控制台和 ssh

安装 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

相关内容