Я хотел бы использовать openstack для установки экземпляров ubuntu / bionic. Перед автоматизацией создания экземпляра виртуальной машины с помощью ansible / openstack API я провел несколько тестов через веб-интерфейс openstack horizon. В основном я выполняю следующие шаги:
создать сеть: my-network
shared: False subnet: address: 192.168.66.0/24 IP version: IPv4 gateway: 192.168.66.254 allocation pool: 192.168.66.100,192.168.66.200 dns: my-dns-ips
создать маршрутизатор: my-router
external provider: provider interface: subnet: my-network ip: 192.168.66.254
создать экземпляр: мой-экземпляр
network: my-network security group: default + ssh + icmp keypair: generated via ssh-keygen and imported to horizon
добавить плавающий IP-адрес в мой экземпляр
ip: 192.168.13.209 port to be associated: my-instance:192.168.66.123
при выполнении этих шагов в следующем порядке: 1. 3. 2. 4., я могу ping и ssh на мою машину через плавающий IP-адрес, как и ожидалось. Однако, выполняя эти шаги в порядке 1. 2. 3. 4., я могу пинговать, но не могу ssh с ошибкой permission denied (publickey)
.
В идеале порядок 1. 2. 3. 4. был бы лучшим для моих будущих потребностей в ansible, поскольку они позволили бы четкое (и чистое) разделение между настройкой сети и распределением экземпляров.
Не могли бы вы сказать мне, почему этот заказ вызывает ошибку ssh, а другой работает отлично?
Это нормальное поведение, и если да, не могли бы вы мне объяснить, почему?
[EDIT] копаясь дальше в журнале успешных и неудачных экземпляров, я заметил, что сбойный не может найти ключ ssh. Это, очевидно, объясняет сбой ssh
, но я до сих пор не понимаю, почему в этом случае пара ключей не вводится в экземпляр.