Subnet layanan mengaktifkan operator untuk menentukan tipe port yang valid untuk setiap subnet pada jaringan tanpa membatasi jaringan ke satu subnet atau secara manual membuat port dengan ID subnet tertentu. Menggunakan fitur ini, operator dapat memastikan bahwa port untuk instance dan antarmuka router, misalnya, selalu menggunakan subnet yang berbeda.
Tentukan satu atau lebih tipe layanan untuk satu atau lebih subnet pada jaringan tertentu. Setiap tipe layanan harus sesuai dengan pemilik perangkat valid dalam model port supaya digunakan.
Selama alokasi IP, driver IPAM mengembalikan alamat dari subnet dengan tipe layanan yang cocok dengan pemilik perangkat port. Jika tidak ada subnet cocok, atau semua subnet yang cocok kekurangan alamat IP yang tersedia, driver IPAM mencoba untuk menggunakan subnet tanpa tipe layanan untuk melestarikan kompatibilitas. Jika semua subnet pada jaringan memiliki tipe layanan, driver IPAM tidak dapat melestarikan kompatibilitas. Namun, fitur ini mengaktifkan alokasi IP yang ketat dari subnet dengan pemilik perangkat yang cocok. Jika beberapa subnet berisi tipe layanan yang sama, atau subnet tanpa tipe layanan itu ada, driver IPAM memilih subnet pertama dengan tipe layanan yang cocok. Misalnya, port gerbang agen IP mengambang menggunakan proses seleksi berikut:
network:floatingip_agent_gateway
None
Pembuatan atau pembaharuan port dengan subnet tertentu melompati proses seleksi ini dan secara eksplisit menggunakan subnet yang diberikan.
Catatan
Pembuatan subnet dengan tipe layanan membutuhkan hak administratif.
Membuat jaringan.
$ openstack network create demo-net1
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| description | |
| headers | |
| id | b5b729d8-31cc-4d2c-8284-72b3291fec02 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| mtu | 1450 |
| name | demo-net1 |
| port_security_enabled | True |
| project_id | a3db43cd0f224242a847ab84d091217d |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 110 |
| router:external | Internal |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | [] |
+---------------------------+--------------------------------------+
Buat subnet pada jaringan dengan satu atau lebih tipe layanan. Sebagai contoh, tipe layanan compute:nova
mengaktifkan instance untuk menggunakan subnet ini.
$ openstack subnet create demo-subnet1 --subnet-range 10.0.0.0/24 \
--service-type 'compute:nova' --network demo-net1
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| id | 6e38b23f-0b27-4e3c-8e69-fd23a3df1935 |
| ip_version | 4 |
| cidr | 10.0.0.0/24 |
| name | demo-subnet1 |
| network_id | b5b729d8-31cc-4d2c-8284-72b3291fec02 |
| service_types | ['compute:nova'] |
| tenant_id | a8b3054cc1214f18b1186b291525650f |
+-------------------+--------------------------------------+
Secara opsional, buat subnet lain di jaringan dengan tipe layanan yang berbeda. Sebagai contoh, tipe layanan apapun compute:foo
$ openstack subnet create demo-subnet2 --subnet-range 10.0.10.0/24 \
--service-type 'compute:foo' --network demo-net1
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| id | ea139dcd-17a3-4f0a-8cca-dff8b4e03f8a |
| ip_version | 4 |
| cidr | 10.0.10.0/24 |
| name | demo-subnet2 |
| network_id | b5b729d8-31cc-4d2c-8284-72b3291fec02 |
| service_types | ['compute:foo'] |
| tenant_id | a8b3054cc1214f18b1186b291525650f |
+-------------------+--------------------------------------+
Luncurkan sebuah instance menggunakan jaringan. Misalnya, dengan menggunakan image cirros
dan flavor m1.tiny
.
$ openstack server create demo-instance1 --flavor m1.tiny \
--image cirros --nic net-id=b5b729d8-31cc-4d2c-8284-72b3291fec02
+--------------------------------------+-----------------------------------------------+
| Field | Value |
+--------------------------------------+-----------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-SRV-ATTR:host | None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name | instance-00000009 |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | None |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| adminPass | Fn85skabdxBL |
| config_drive | |
| created | 2016-09-19T15:07:42Z |
| flavor | m1.tiny (1) |
| hostId | |
| id | 04222b73-1a6e-4c2a-9af4-ef3d17d521ff |
| image | cirros (4aaec87d-c655-4856-8618-b2dada3a2b11) |
| key_name | None |
| name | demo-instance1 |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| project_id | d44c19e056674381b86430575184b167 |
| properties | |
| security_groups | [{u'name': u'default'}] |
| status | BUILD |
| updated | 2016-09-19T15:07:42Z |
| user_id | 331afbeb322d4c559a181e19051ae362 |
+--------------------------------------+-----------------------------------------------+
Periksa status instance. Field Networks
berisi alamat IP dari subnet memiliki tipe layanan compute:nova
$ openstack server list
+--------------------------------------+-----------------+---------+--------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-----------------+---------+--------------------+
| 20181f46-5cd2-4af8-9af0-f4cf5c983008 | demo-instance1 | ACTIVE | demo-net1=10.0.0.3 |
+--------------------------------------+-----------------+---------+--------------------+
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.