创建 Octavia Loadbalancer 失败并显示“Nova 无法构建实例,原因是:提供的 key_name 无效”

问题描述 投票:0回答:3

我正在尝试通过 kolla-ansible 安装 OpenStack。 具有 3 个控制平面节点和 2 个计算节点的集群已启动并正在运行。 我现在添加了 Octavia LBaaS 并遇到了问题。 当我尝试在地平线 GUI 中创建负载平衡器时,这失败了,并在 /var/log/kolla/octavia/octavia-worker.log 中出现以下错误:

2019-10-22 14:39:35.969 24 INFO octavia.controller.queue.endpoint [-] Creating load balancer '8789f171-3a40-40dd-bcf3-f0ab02844eba'...
2019-10-22 14:39:36.204 24 INFO octavia.network.drivers.neutron.allowed_address_pairs [-] Port 5bc14530-cbd9-4937-8263-864d8375967e already exists. Nothing to be done.
2019-10-22 14:39:37.265 24 INFO octavia.controller.worker.tasks.database_tasks [-] Created Amphora in DB with id f16f47ac-27fa-44a3-a896-a2c436baf0fe
2019-10-22 14:39:37.428 24 INFO octavia.certificates.generator.local [-] Signing a certificate request using OpenSSL locally.
2019-10-22 14:39:37.428 24 INFO octavia.certificates.generator.local [-] Using CA Certificate from config.
2019-10-22 14:39:37.428 24 INFO octavia.certificates.generator.local [-] Using CA Private Key from config.
2019-10-22 14:39:37.429 24 INFO octavia.certificates.generator.local [-] Using CA Private Key Passphrase from config.
2019-10-22 14:39:38.905 24 ERROR octavia.compute.drivers.nova_driver [-] Nova failed to build the instance due to: Invalid key_name provided. (HTTP 400) (Request-ID: req-76427fa0-ea35-4d4b-8173-f72d0c6355aa): BadRequest: Invalid key_name provided. (HTTP 400) (Request-ID: req-76427fa0-ea35-4d4b-8173-f72d0c6355aa)

在 /etc/octavia/octavia.conf 键名是这样设置的:

[controller_worker]
amp_ssh_key_name = octavia_ssh_key
amp_boot_network_list = 92df8748-2dfc-4270-8fef-d5163ef7ee56
amp_image_tag = amphora
amp_secgroup_list = a818a8c8-d8df-4886-a62a-dbcf29aa7e79
amp_flavor_id = 805ec684-b560-476e-938b-32b0fa4e6d16
...

一个 openstack 密钥对列表产生:

+-----------------+-------------------------------------------------+
| Name            | Fingerprint                                     |
+-----------------+-------------------------------------------------+
| user1           | aa:aa:aa:aa:85:2e:0d:b7:35:0a:c5:7e:3f:67:e5:a5 |
| user2           | aa:aa:aa:aa:fc:67:12:c6:20:3e:3b:bc:7a:75:35:cc |
| octavia_ssh_key | 28:b2:83:b1:e2:ee:c7:72:dc:bc:2e:3f:6e:ac:e2:61 |
+-----------------+-------------------------------------------------+

由于键名在 octavia.conf 中设置为“octavia_ssh_key”并且密钥对在 openstack 中列在该名称下,我不确定是什么导致了错误。为什么 nova 无法找到正确的密钥对来构建 ampora 镜像?

任何关于我还可以调试或还需要配置什么以使 Octavia LBaaS 正常工作的想法都将不胜感激。

kolla-ansible vererion: stable/stein

一切顺利,感谢您阅读本文!

比约恩

openstack
3个回答
0
投票

我想你已经用管理员用户创建了密钥对“octavia_ssh_key”。

你可以尝试用 octavia 用户重新创建这个 ;)

openstack keypair create octavia_ssh_key \
  --os-username octavia \
  --os-password "$(cat /etc/kolla/passwords.yml | grep octavia_keystone_password | awk '{ print $2 }')"

0
投票
                                                     2023-04-12 ERROR oslo_messaging.rpc.server taskflow.exceptions.WrappedFailure: WrappedFailure: [Failure: octavia.common.exceptions.ComputeBuildException: Failed to build compute instance due to: Invalid key_name provided. (HTTP 400) (Request-ID: req-b2c5c343-6f02-4b2f-8d3a-7aac65f39794), Failure: octavia.common.exceptions.ComputeBuildException: Failed to build compute instance due to: Invalid key_name provided. (HTTP 400) (Request-ID: req-378ca817-1830-4521-834f-b7dd499e8b3b)]
  • 与密钥无关,可能是某些覆盖正在调用它们,
root@controller-1:~# openstack keypair list
+-------------+-------------------------------------------------+
| Name        | Fingerprint                                     |
+-------------+-------------------------------------------------+
| nc_kaa      | 2a:d7:aa:6b:f9:ed:97:24:24:23:19:09:c4:6d:87:6f |
| my_key_1234 | a2:d3:1a:8d:3b:10:32:76:dc:de:de:e0:18:15:f4:94 |
+-------------+-------------------------------------------------+
root@controller-1:~#
  • 评论出来:
# amp_ssh_key_name = octavia_ssh_key
  • 重启octavia服务

  • 尝试 LB 的故障转移

  • openstack 负载均衡器故障转移

  • LB 应该处于活动状态。


-2
投票

尝试使用 Octavia 用户创建密钥......它绝对可以正常工作

© www.soinside.com 2019 - 2024. All rights reserved.