(я использую openstack4j поговорить с OpenStack через REST API)Присвоить OpenStack плавающий IP, а убедившись, что он не будет удален с другого сервера
Я хотел бы повторно использовать некоторые из присвоенных в плавающих IP-адресов, выделенных в моем арендатора (выделение для вновь созданных серверов). Однако, похоже, что действие addFloatingIp
не имеет никакого отношения к назначению неиспользуемого плавающего IP-адреса и переназначению его с сервера на сервер.
Я хотел бы автоматизировать процесс, но я боюсь следующего состояния гонки: один клиент проверяет, какой IP-адрес является бесплатным, и до того, как ему удастся связать его с сервером A, другой клиент свяжет его с сервером B. С точки зрения второй клиент, связанный с ним плавающий IP-адрес может быть удален в любой последующий момент после успешного соединения.
Есть ли лучший способ?
В настоящее время с этой ситуацией возникают трудности. Я подумываю изменить механизм, не используя предварительно выделенные плавающие иппы. Я думаю, чтобы создать плавающее и назначить его серверу при настройке. Тогда как насчет удаления сервера? Чтобы избежать назначенного плавающего ip пребывания в пуле, я думаю, чтобы удалить этот плавающий ip. Вы также можете подумать, чтобы попробовать это как альтернативный способ. – mehmetozi
Это очень хрупкий, но это предпочтительный способ, как я понял. Проблема заключается в том, что автоматизация удаления сервера может не очистить IP (или любой другой связанный с ним ресурс), также кнопка завершения в Horizon не выполняет требуемую очистку, поэтому клиентам необходимо.Без каких-либо действий (очистка многожильных IP-адресов или их повторное использование) вы рано или поздно закончите квоты/IP-адреса. Не говоря уже о том, что экземпляры openstack настроены таким образом, что арендаторы не имеют права выделять IP-адреса, но, как ожидается, будут работать с предварительно распределенным набором из них. –