Рейтинг:1

Открытый ключ Openstack ubuntuVM SSH Разрешение отклонено при первой загрузке

флаг fr

Я развертываю Openstack (я пробовал victoria и ussuri) с kolla-ansible на 3 узлах CentOS 8 (1 = Control + Compute, 2 и 3 = Compute). Развертывание работает без проблем, но когда я создаю новую виртуальную машину с образом ubuntu (focal-server-cloudimg-amd64.img) из здесь похоже, что это не приходит чисто. Это приводит к тому, что сценарий cloud-init не может завершиться, поэтому настроенный SSH-ключ не установлен внутри виртуальной машины, поэтому я не могу войти в систему.

ubuntu@10.20.34.137: Отказано в доступе (публичный ключ).

Но его IP-адрес доступен для проверки связи, и все сетевые правила (группы безопасности и т. д.) в порядке. Теперь начинается странная часть. Если я сейчас выполню экземпляр Hard Reboot, он появится чисто, и я смогу войти через SSH. Кто-нибудь видел эту проблему раньше, потому что у меня есть другой/старый экземпляр OpenStack ussuri (примерно 15 месяцев назад), и там тот же образ Ubuntu работает хорошо (я также проверил это).

вывод журнала первого запуска (только последние строки):

-----КОНЕЦ КЛЮЧА SSH-ХОСТА-----
[ 49.380046] cloud-init[1387]: Cloud-init v. 21.4-0ubuntu1~20.04.1 запускает «modules:final» в среду, 05 января 2022 г., 11:17:08 +0000. До 49,23 секунды.
[49.380186] cloud-init[1387]: ci-info: для пользователя ubuntu не найдены отпечатки авторизованных ключей SSH.
[49.380481] cloud-init[1387]: Cloud-init v.21.4-0ubuntu1~20.04.1 завершено в среду, 05 января 2022 г., 11:17:08 +0000. Источник данных DataSourceNone. До 49,37 секунды
[49.380779] cloud-init[1387]: 2022-01-05 11:17:08,288 — cc_final_message.py[ПРЕДУПРЕЖДЕНИЕ]: используется резервный источник данных

вывод журнала после Hard Reboot Instance (только последние строки):

-----КОНЕЦ КЛЮЧА SSH-ХОСТА-----
[15.105333] cloud-init[851]: Cloud-init v. 21.4-0ubuntu1~20.04.1 запускает «modules:final» в среду, 05 января 2022 г., 11:46:21 +0000. До 14,95 секунды.
[ 15.106253] cloud-init[851]: Cloud-init v. 21.4-0ubuntu1~20.04.1 завершена в среду, 05 января 2022 г., 11:46:22 +0000. Источник данных DataSourceOpenStackLocal [net, ver=2]. Вверх 15,10 секунд
[[0;32m OK [0m] Завершено [0;1;39mВыполнить пользовательские/финальные сценарии облака[0m.
[[0;32m OK [0m] Достигнута цель [0;1;39mCloud-init target[0m.

Ubuntu 20.04.3 LTS asdfff ttyS0

логин asdfff:

Поэтому я также протестировал образ Debian (debian-10-openstack-amd64.qcow2) из здесь и он работал нормально с первым запуском.

Кто-нибудь еще видел такое поведение? Или, может быть, увидеть что-то, что я могу сделать, чтобы обойти это.

С уважением,

Майкл

флаг cn
Может быть, сервер SSH необходимо перезапустить, поэтому перезагрузка сделает это?
Рейтинг:1
флаг cn

Некоторая дополнительная информация:

  • Проблема наблюдается с Openstack Ussuri и Victoria.
  • Эта проблема наблюдается с Ubuntu VM с одним интерфейсом во внешней сети openstack.
  • Во время создания виртуальной машины cloud-init не может запрашивать метаданные, связанные с виртуальной машиной, из источника «http://169.254.169.254/openstack». Это приводит к тайм-ауту и ​​инициализации с ключами по умолчанию. В ЖУРНАЛЕ запуска указано: «ПРЕДУПРЕЖДЕНИЕ не является источником метаданных».

Обходной путь — выполнить «жесткую загрузку» виртуальной машины. Во время «жесткой загрузки» файл журнала «/var/log/cloud-init.log» указывает, что добавлен маршрут, который, по-видимому, решает проблему. См. запись журнала 14:27:08,314 ниже, которая относится к началу «жесткой загрузки». 10.20.34.100 — это IP-адрес во внешней сети, который предоставляет метаданные.

ubuntu@внешний-сервер:/var/log$ grep "169.254.169.254" cloud-init.log 
2022-01-06 14:25:33,037 - util.py[DEBUG]: разрешение URL: http://169.254.169.254 заняло 0,000 секунды
2022-01-06 14:25:33,037 - url_helper.py[DEBUG]: [0/1] открыть 'http://169.254.169.254/openstack' с помощью {'url': 'http://169.254.169.254/ openstack", "allow_redirects": True, "метод": "GET", "время ожидания": 10.0, "заголовки": {'User-Agent': "Cloud-Init/21.4-0ubuntu1~20.04.1"}} конфигурация
2022-01-06 14:25:43,050 - url_helper.py[DEBUG]: вызов 'http://169.254.169.254/openstack' не удался [10/-1 с]: ошибка запроса [HTTPConnectionPool(host='169.254.169.254' , порт = 80): превышено максимальное количество повторных попыток с URL-адресом: /openstack (вызвано ConnectTimeoutError (<urllib3.connection.HTTPConnection объект по адресу 0x7fa3b80d8a60>, «время ожидания подключения к 169.254.169.254 истекло. (время ожидания подключения = 10.0)'))]
06.01.2022, 14:25:43,050 — DataSourceOpenStack.py[DEBUG]: отказ от OpenStack md из ['http://169.254.169.254/openstack'] через 10 секунд
06.01.2022, 14:25:54,772 - util.py[DEBUG]: разрешение URL-адреса: http://169.254.169.254 заняло 10,014 секунды
2022-01-06 14:25:54,772 - url_helper.py[DEBUG]: [0/1] открыть 'http://169.254.169.254/openstack' с помощью {'url': 'http://169.254.169.254/ openstack", "allow_redirects": True, "метод": "GET", "время ожидания": 10.0, "заголовки": {'User-Agent': "Cloud-Init/21.4-0ubuntu1~20.04.1"}} конфигурация
2022-01-06 14:26:04,785 - url_helper.py[DEBUG]: вызов 'http://169.254.169.254/openstack' не удался [10/-1 с]: ошибка запроса [HTTPConnectionPool(host='169.254.169.254' , порт = 80): превышено максимальное количество повторных попыток с URL-адресом: /openstack (вызвано ConnectTimeoutError (<urllib3.connection.HTTPConnection объект по адресу 0x7fdefd568700>, «время ожидания подключения к 169.254.169.254 истекло. (время ожидания подключения = 10.0)'))]
06.01.2022, 14:26:04,785 — DataSourceOpenStack.py[DEBUG]: отказ от OpenStack md из ['http://169.254.169.254/openstack'] через 10 секунд
2022-01-06 14:27:08,314 - subp.py[DEBUG]: Выполняется команда ['ip', '-4', 'route', 'add', '169.254.169.254/32', 'через', '10.20.34.100', 'dev', 'ens3'] с разрешенными кодами возврата [0] (shell=False, capture=True)
2022-01-06 14:27:08,317 - util.py[DEBUG]: разрешение URL: http://169.254.169.254 заняло 0,000 секунды
2022-01-06 14:27:08,318 - url_helper.py[DEBUG]: [0/1] открыть 'http://169.254.169.254/openstack' с {'url': 'http://169.254.169.254/ openstack", "allow_redirects": True, "метод": "GET", "время ожидания": 10.0, "заголовки": {'User-Agent': "Cloud-Init/21.4-0ubuntu1~20.04.1"}} конфигурация
2022-01-06 14:27:08,930 - url_helper.py[DEBUG]: чтение с http://169.254.169.254/openstack (200, 105b) после 1 попытки
06.01.2022, 14:27:08,930 — DataSourceOpenStack.py[DEBUG]: использование источника метаданных: «http://169.254.169.254»
2022-01-06 14:27:08,930 - url_helper.py[DEBUG]: [0/6] открыть 'http://169.254.169.254/openstack' с помощью {'url': 'http://169.254.169.254/ openstack", "allow_redirects": True, "метод": "GET", "время ожидания": 10.0, "заголовки": {'User-Agent': "Cloud-Init/21.4-0ubuntu1~20.04.1"}} конфигурация
2

После перезагрузки возможен доступ по SSH с настроенными учетными данными.

Проблема может заключаться в скрипте cloud-init, который не добавляет маршрут к серверу метаданных во время первого cloud_init виртуальной машины.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.