Получение плавающего IP-адреса на виртуальной машине с открытым стеком

Я пытаюсь автоматизировать службу на моей виртуальной машине (которая находится в облаке openstack), для которой мне нужен плавающий IP-адрес этой машины. Есть ли команда или что-нибудь в этом отношении, которое может помочь мне получить его?


person ccvt    schedule 12.08.2016    source источник


Ответы (2)


Просто для уточнения: когда вы «хотите получить» плавающий IP-адрес, вы хотите узнать изнутри экземпляра прикрепленный к нему плавающий IP-адрес? Если это так, просто используйте службу метаданных либо напрямую с помощью «curl», либо, если на экземпляре установлены инструменты cloud-init, используйте команду «ec2metadata».

Если вместо этого вы хотите автоматически назначить FIP экземпляру, ответ выше будет правильным.

person tigerlinux    schedule 30.09.2016
comment
Спасибо, это лучший способ получить FIP. - person ccvt; 27.10.2016
comment
@tigerlinux: не могли бы вы рассказать, как метаданные ec2 можно использовать в openstack для получения FIP виртуальной машины? - person Atmesh Mishra; 20.06.2017
comment
Ничего страшного, команда ec2metadata --public-ipv4 сделала свое дело. Отличный ответ. - person Atmesh Mishra; 20.06.2017

Установите че openstackкли. Я использовал cli версии openstack 2.6.0.

Сначала создайте плавающий IP. Вам нужно будет указать имя вашей общедоступной сети. В моем случае это имя public. Если вы не уверены в названии сети, где вы можете получить плавающий IP-адрес, проверьте с помощью

openstack network list 

Создадим плавающий ip

$ openstack ip floating create public
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| fixed_ip_address    | None                                 |
| floating_ip_address | 86.119.0.163                         |
| floating_network_id | 7313f148-f340-49b4-9d76-89de0702e801 |
| headers             |                                      |
| id                  | bba11a1b-9a31-4d67-a339-2fdbb3b74d11 |
| port_id             | None                                 |
| project_id          | 0009b5ca32594503b2d64ded05bbe0a8     |
| router_id           | None                                 |
| status              | DOWN                                 |
+---------------------+--------------------------------------+
$

Теперь, когда у вас есть плавающий IP-адрес, вы можете связать его с виртуальной машиной, используя имя виртуальной машины. Вы можете проверить имя виртуальной машины с помощью команды

openstack server list

Свяжите плавающий IP

openstack ip floating add 86.119.0.163 vmname

Если вы сделаете еще раз openstack server list, вы увидите, что теперь IP-адрес связан с виртуальной машиной.

Я думаю, вам сейчас интересно

openstack server show vmname -f json

Возвращает много информации о виртуальной машине, а также адреса. Проверьте флаг -f, форматтеров больше, чем json

person Saverio Proto    schedule 18.08.2016