Я пытаюсь автоматизировать службу на моей виртуальной машине (которая находится в облаке openstack), для которой мне нужен плавающий IP-адрес этой машины. Есть ли команда или что-нибудь в этом отношении, которое может помочь мне получить его?
Получение плавающего IP-адреса на виртуальной машине с открытым стеком
Ответы (2)
Просто для уточнения: когда вы «хотите получить» плавающий IP-адрес, вы хотите узнать изнутри экземпляра прикрепленный к нему плавающий IP-адрес? Если это так, просто используйте службу метаданных либо напрямую с помощью «curl», либо, если на экземпляре установлены инструменты cloud-init, используйте команду «ec2metadata».
Если вместо этого вы хотите автоматически назначить FIP экземпляру, ответ выше будет правильным.
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