我正在3 CentOS 8节点(1=Control+Compute,2和3=Compute)上使用kolla-ansible部署Openstack(我尝试了victoria和ussuri)。部署工作正常,没有任何问题,但是当我从这里创建一个带有ubuntu映像(焦点服务器-Cloudimg-amd64.img)的新VM时,它看起来不太清晰。这会导致云-init脚本无法完成,因此配置的SSH-键没有在VM中设置,因此我无法登录。
ubuntu@10.20.34.137: Permission denied (publickey).
但是它的ip地址是可点击的,所有的网络规则(安全组等等)都是可以的。现在奇怪的部分开始了。如果我现在执行了一个硬重新启动实例,它就会清晰地出现,并且我能够通过SSH登录。以前有没有人见过这个问题,因为我有另一个/更老的OpenStack ussuri实例正在运行(大约15个月前),而且同样的ubuntu映像工作得很好(我也验证了这一点)。
日志输出的第一次运行(仅最后一行):
-----END SSH HOST KEY KEYS-----
[ 49.380046] cloud-init[1387]: Cloud-init v. 21.4-0ubuntu1~20.04.1 running 'modules:final' at Wed, 05 Jan 2022 11:17:08 +0000. Up 49.23 seconds.
[ 49.380186] cloud-init[1387]: ci-info: no authorized SSH keys fingerprints found for user ubuntu.
[ 49.380481] cloud-init[1387]: Cloud-init v. 21.4-0ubuntu1~20.04.1 finished at Wed, 05 Jan 2022 11:17:08 +0000. Datasource DataSourceNone. Up 49.37 seconds
[ 49.380779] cloud-init[1387]: 2022-01-05 11:17:08,288 - cc_final_message.py[WARNING]: Used fallback datasource
在硬重新启动实例(仅最后一行)之后记录输出:
-----END SSH HOST KEY KEYS-----
[ 15.105333] cloud-init[851]: Cloud-init v. 21.4-0ubuntu1~20.04.1 running 'modules:final' at Wed, 05 Jan 2022 11:46:21 +0000. Up 14.95 seconds.
[ 15.106253] cloud-init[851]: Cloud-init v. 21.4-0ubuntu1~20.04.1 finished at Wed, 05 Jan 2022 11:46:22 +0000. Datasource DataSourceOpenStackLocal [net,ver=2]. Up 15.10 seconds
[[0;32m OK [0m] Finished [0;1;39mExecute cloud user/final scripts[0m.
[[0;32m OK [0m] Reached target [0;1;39mCloud-init target[0m.
Ubuntu 20.04.3 LTS asdfff ttyS0
asdfff login:
因此,我还测试了来自这里的debian映像(Debian-10-OpenStack-amd64.qco2),它在第一个启动时运行良好。
还有其他人见过这种行为吗?或者看看我能做些什么来解决这个问题。
致以亲切的问候,
迈克尔
发布于 2022-01-06 14:53:08
一些补充资料:
解决方法是执行VM的“硬启动”。在“硬引导”期间,日志文件"/var/ log /cloud-init.log“表示添加了一个似乎修复了问题的路由。见日志条目14:27:08,314,下面那是在“硬启动”的双关。10.20.34.100是外部网络中的IP,它提供元数据。
ubuntu@external-server:/var/log$ grep "169.254.169.254" cloud-init.log
2022-01-06 14:25:33,037 - util.py[DEBUG]: Resolving URL: http://169.254.169.254 took 0.000 seconds
2022-01-06 14:25:33,037 - url_helper.py[DEBUG]: [0/1] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2022-01-06 14:25:43,050 - url_helper.py[DEBUG]: Calling 'http://169.254.169.254/openstack' failed [10/-1s]: request error [HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /openstack (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7fa3b80d8a60>, 'Connection to 169.254.169.254 timed out. (connect timeout=10.0)'))]
2022-01-06 14:25:43,050 - DataSourceOpenStack.py[DEBUG]: Giving up on OpenStack md from ['http://169.254.169.254/openstack'] after 10 seconds
2022-01-06 14:25:54,772 - util.py[DEBUG]: Resolving URL: http://169.254.169.254 took 10.014 seconds
2022-01-06 14:25:54,772 - url_helper.py[DEBUG]: [0/1] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2022-01-06 14:26:04,785 - url_helper.py[DEBUG]: Calling 'http://169.254.169.254/openstack' failed [10/-1s]: request error [HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /openstack (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7fdefd568700>, 'Connection to 169.254.169.254 timed out. (connect timeout=10.0)'))]
2022-01-06 14:26:04,785 - DataSourceOpenStack.py[DEBUG]: Giving up on OpenStack md from ['http://169.254.169.254/openstack'] after 10 seconds
2022-01-06 14:27:08,314 - subp.py[DEBUG]: Running command ['ip', '-4', 'route', 'add', '169.254.169.254/32', 'via', '10.20.34.100', 'dev', 'ens3'] with allowed return codes [0] (shell=False, capture=True)
2022-01-06 14:27:08,317 - util.py[DEBUG]: Resolving URL: http://169.254.169.254 took 0.000 seconds
2022-01-06 14:27:08,318 - url_helper.py[DEBUG]: [0/1] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2022-01-06 14:27:08,930 - url_helper.py[DEBUG]: Read from http://169.254.169.254/openstack (200, 105b) after 1 attempts
2022-01-06 14:27:08,930 - DataSourceOpenStack.py[DEBUG]: Using metadata source: 'http://169.254.169.254'
2022-01-06 14:27:08,930 - url_helper.py[DEBUG]: [0/6] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2
重新启动后,可以使用配置的凭据访问SSH。
问题可能是云init脚本,即在VM的第一个cloud_init期间没有向元数据服务器添加路由。
发布于 2022-09-06 05:59:16
我在微栈的Ussuri上遇到了这个问题。我尝试了建议的‘硬启动’的方法,但得到了同样的错误。我也得到了同样的错误与Fedora 36图像。
我解决了错误,但禁用,然后重新启用微堆栈.
sudo snap disable microstack
sudo snap disable microstack
https://serverfault.com/questions/1089057
复制相似问题