浮动 IP 预留¶
先决条件¶
应安装以下软件包
blazar
neutron
python-blazarclient
浮动 IP 插件应在 blazar.conf 中启用
[manager]
plugins = virtual.floatingip.plugin
1. 创建可预留的浮动 IP¶
操作员应使用 floatingip-create 命令将浮动 IP 创建为可预留资源。他们必须选择 Neutron 中不在分配池中的浮动 IP。例如,要从 ID 为
81fabec7-00ae-497a-b485-72f4bf187d3e的 Neutron 网络创建地址为172.24.4.2的可预留浮动 IP,请运行
# Using the blazar CLI
blazar floatingip-create 81fabec7-00ae-497a-b485-72f4bf187d3e 172.24.4.2
# Using the openstack CLI
openstack reservation floatingip create 81fabec7-00ae-497a-b485-72f4bf187d3e 172.24.4.2
检查可预留的浮动 IP
# Using the blazar CLI
blazar floatingip-list
# Using the openstack CLI
openstack reservation floatingip list
结果
+--------------------------------------+---------------------+--------------------------------------+
| id | floating_ip_address | floating_network_id |
+--------------------------------------+---------------------+--------------------------------------+
| 67720c36-4d53-41e6-acec-7d3fb9436fd5 | 172.24.4.2 | 81fabec7-00ae-497a-b485-72f4bf187d3e |
+--------------------------------------+---------------------+--------------------------------------+
2. 创建租赁¶
使用 lease-create 命令创建租赁(浮动 IP 预留)。请注意,使用此功能需要
python-blazarclient版本 2.2.1 或更高版本。当您使用resource_type=virtual:floatingip时,支持以下参数network_id:要从中预留的外部网络的 UUID(必需)amount:要预留的浮动 IP 数量(可选,默认为 1)required_floatingips:要分配的特定浮动 IP 列表(可选,必须格式化为 JSON 数组)
# Using the blazar CLI
blazar lease-create --reservation 'resource_type=virtual:floatingip,network_id=81fabec7-00ae-497a-b485-72f4bf187d3e,amount=2,required_floatingips=["172.24.4.2","172.24.4.3"]' fip-lease
# Using the openstack CLI
openstack reservation lease create --reservation 'resource_type=virtual:floatingip,network_id=81fabec7-00ae-497a-b485-72f4bf187d3e,amount=2,required_floatingips=["172.24.4.2","172.24.4.3"]' fip-lease
结果
Created a new lease:
+--------------+-------------------------------------------------------------+
| Field | Value |
+--------------+-------------------------------------------------------------+
| created_at | 2019-09-23 08:33:22 |
| degraded | False |
| end_date | 2019-09-24T08:33:00.000000 |
| events | { |
| | "status": "UNDONE", |
| | "lease_id": "d67f3bcf-cb82-4c7d-aa4d-49cc48586d89", |
| | "event_type": "before_end_lease", |
| | "created_at": "2019-09-23 08:33:22", |
| | "updated_at": null, |
| | "time": "2019-09-24T07:33:00.000000", |
| | "id": "628e6eec-d157-4e6a-9238-47c008f357be" |
| | } |
| | { |
| | "status": "UNDONE", |
| | "lease_id": "d67f3bcf-cb82-4c7d-aa4d-49cc48586d89", |
| | "event_type": "end_lease", |
| | "created_at": "2019-09-23 08:33:22", |
| | "updated_at": null, |
| | "time": "2019-09-24T08:33:00.000000", |
| | "id": "d8a56235-3171-4097-8dd6-425788f4dd73" |
| | } |
| | { |
| | "status": "UNDONE", |
| | "lease_id": "d67f3bcf-cb82-4c7d-aa4d-49cc48586d89", |
| | "event_type": "start_lease", |
| | "created_at": "2019-09-23 08:33:22", |
| | "updated_at": null, |
| | "time": "2019-09-23T08:33:00.000000", |
| | "id": "f7322caf-9470-4281-b980-dcd76b3e476c" |
| | } |
| id | d67f3bcf-cb82-4c7d-aa4d-49cc48586d89 |
| name | fip-lease |
| project_id | 10b4b88b67e141aeb093fec48c93232c |
| reservations | { |
| | "status": "pending", |
| | "lease_id": "d67f3bcf-cb82-4c7d-aa4d-49cc48586d89", |
| | "resource_id": "ae205735-970e-4f91-a2fc-c99fc7cc45fc", |
| | "network_id": "81fabec7-00ae-497a-b485-72f4bf187d3e", |
| | "created_at": "2019-09-23 08:33:22", |
| | "updated_at": "2019-09-23 08:33:22", |
| | "required_floatingips": [ |
| | "172.24.4.2", |
| | "172.24.4.3" |
| | ], |
| | "missing_resources": false, |
| | "amount": 2, |
| | "id": "30f72423-db81-4f13-bc78-b931c4a96b48", |
| | "resource_type": "virtual:floatingip", |
| | "resources_changed": false |
| | } |
| start_date | 2019-09-23T08:33:00.000000 |
| status | PENDING |
| trust_id | 0617c18ba83d4ec29832b0ec19c5ae5e |
| updated_at | 2019-09-23 08:33:23 |
| user_id | 9e43ffa598d14bac91fc889c2e15cd13 |
+--------------+-------------------------------------------------------------+
检查租赁
# Using the blazar CLI
blazar lease-list
# Using the openstack CLI
openstack reservation lease list
结果
+--------------------------------------+-----------+----------------------------+----------------------------+
| id | name | start_date | end_date |
+--------------------------------------+-----------+----------------------------+----------------------------+
| d67f3bcf-cb82-4c7d-aa4d-49cc48586d89 | fip-lease | 2019-09-23T08:33:00.000000 | 2019-09-24T08:33:00.000000 |
+--------------------------------------+-----------+----------------------------+----------------------------+
3. 更新租赁¶
使用 lease-update 命令更新租赁(浮动 IP 预留)。请注意,使用此功能需要
python-blazarclient版本 2.2.1 或更高版本。在将现有的预留 ID 传递给--reservation选项后,您可以修改开始或结束日期以及一些预留参数amount:您可以修改要预留的浮动 IP 数量。仅支持减少amount以进行待处理的预留。required_floatingips:您只能将要分配的特定浮动 IP 列表重置为空列表
# Using the blazar CLI
blazar lease-update --reservation 'id=e80033e6-5279-461d-9573-dec137233434,amount=3,required_floatingips=[]' fip-lease
# Using the openstack CLI
openstack reservation lease update --reservation 'id=e80033e6-5279-461d-9573-dec137233434,amount=3,required_floatingips=[]' fip-lease
结果
Updated lease: fip-lease
检查更新后的租赁
# Using the openstack CLI
blazar lease-show fip-lease
# Using the openstack CLI
openstack reservation lease show fip-lease
结果
+--------------+-------------------------------------------------------------+
| Field | Value |
+--------------+-------------------------------------------------------------+
| created_at | 2019-09-23 08:09:51 |
| degraded | False |
| end_date | 2019-09-24T08:09:00.000000 |
| events | { |
| | "status": "UNDONE", |
| | "lease_id": "5d528d8d-c023-4792-ae77-cb6d4dc2c162", |
| | "event_type": "before_end_lease", |
| | "created_at": "2019-09-23 08:09:51", |
| | "updated_at": null, |
| | "time": "2019-09-24T07:09:00.000000", |
| | "id": "352521cc-bfe9-4881-9a3e-2ac770671144" |
| | } |
| | { |
| | "status": "DONE", |
| | "lease_id": "5d528d8d-c023-4792-ae77-cb6d4dc2c162", |
| | "event_type": "start_lease", |
| | "created_at": "2019-09-23 08:09:51", |
| | "updated_at": "2019-09-23 08:10:10", |
| | "time": "2019-09-23T08:09:00.000000", |
| | "id": "59e1e170-660e-4a2d-a9e7-167fd5741ff5" |
| | } |
| | { |
| | "status": "UNDONE", |
| | "lease_id": "5d528d8d-c023-4792-ae77-cb6d4dc2c162", |
| | "event_type": "end_lease", |
| | "created_at": "2019-09-23 08:09:51", |
| | "updated_at": null, |
| | "time": "2019-09-24T08:09:00.000000", |
| | "id": "fda0d28d-afe5-4ebb-bea0-50ab1f8d7182" |
| | } |
| id | 5d528d8d-c023-4792-ae77-cb6d4dc2c162 |
| name | fip-lease |
| project_id | 10b4b88b67e141aeb093fec48c93232c |
| reservations | { |
| | "status": "active", |
| | "lease_id": "5d528d8d-c023-4792-ae77-cb6d4dc2c162", |
| | "resource_id": "543a350b-c703-48c9-a97e-2e787c26e385", |
| | "network_id": "81fabec7-00ae-497a-b485-72f4bf187d3e", |
| | "created_at": "2019-09-23 08:09:51", |
| | "updated_at": "2019-09-23 08:10:10", |
| | "required_floatingips": [], |
| | "missing_resources": false, |
| | "amount": 3, |
| | "id": "e80033e6-5279-461d-9573-dec137233434", |
| | "resource_type": "virtual:floatingip", |
| | "resources_changed": false |
| | } |
| start_date | 2019-09-23T08:09:00.000000 |
| status | ACTIVE |
| trust_id | 707391571cd14bd9bfc8eaf986163b37 |
| updated_at | 2019-09-23 08:15:51 |
| user_id | 9e43ffa598d14bac91fc889c2e15cd13 |
+--------------+-------------------------------------------------------------+
4. 使用租赁的资源¶
一旦租赁变为活动状态,分配的浮动 IP 将被标记为预留 ID,在本例中为
e80033e6-5279-461d-9573-dec137233434,可以使用以下命令显示
openstack floating ip list --tags reservation:e80033e6-5279-461d-9573-dec137233434
结果
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| ID | Floating IP Address | Fixed IP Address | Port | Floating Network | Project |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| 3954b799-4957-4e9f-96b7-46f72604c973 | 172.24.4.4 | None | None | 81fabec7-00ae-497a-b485-72f4bf187d3e | 10b4b88b67e141aeb093fec48c93232c |
| ae26069c-f7e9-4b8d-8ca0-6770c025dfae | 172.24.4.3 | None | None | 81fabec7-00ae-497a-b485-72f4bf187d3e | 10b4b88b67e141aeb093fec48c93232c |
| b427c171-30fe-45c4-a00b-3d5ca9b00306 | 172.24.4.2 | None | None | 81fabec7-00ae-497a-b485-72f4bf187d3e | 10b4b88b67e141aeb093fec48c93232c |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
像使用常规浮动 IP 一样使用预留的浮动 IP,例如通过使用
openstack server add floating ip将其附加到实例。