2016-08-12 5 views
1

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

ответ

2

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

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

+1

Спасибо, это лучший способ получить FIP. – ccvt

+0

@tigerlinux: можете ли вы рассказать о том, как ec2-метаданные могут использоваться в openstack для получения FIP виртуальной машины? –

+0

Nevermind получил его, команда ec2metadata --public-ipv4' выполнила эту работу. Отличный ответ. –

1

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

Сначала создайте плавающий IP-адрес. Вам нужно будет указать название своей общедоступной сети. В моем случае имя общественное. Если вы не уверены в названии сети, где вы можете получить плавающую 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 вы можете связать его с VM используя имя виртуальной машины. Вы можете проверить имя виртуальной машины с помощью команды

openstack server list 

Associate плавающего IP

openstack ip floating add 86.119.0.163 vmname 

Если вы снова openstack server list вы увидите, что в настоящее время IP указана ассоциироваться с ВМ.

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

openstack server show vmname -f json 

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

Смежные вопросы