Servis alt ağları, operatörlerin ağları bir alt ağa sınırlamadan veya belirli bir alt ağ kimliği olan elle bağlantı noktaları oluşturmadan bir ağdaki her alt ağ için geçerli bağlantı noktaları türleri tanımlamalarını sağlar. Bu özelliği kullanarak operatörler, örnekler ve yönlendirici arayüzleri için bağlantı noktalarının her zaman farklı alt ağlar kullanmasını sağlayabilir.
Belirli bir ağdaki bir veya daha fazla alt ağ için bir veya daha fazla hizmet türünü tanımlayın. Her hizmet türü, kullanılabilmesi için bağlantı noktası modelindeki geçerli bir cihaz sahibine karşılık gelmelidir.
IP tahsisi sırasında IPAM sürücüsü, bağlantı noktası aygıtı sahibiyle eşleşen bir hizmet türüne sahip bir alt ağdan bir adres döndürür. Hiçbir alt ağa uymuyorsa veya eşleşen tüm alt ağların kullanılabilir IP adresleri yoksa, IPAM sürücüsü uyumluluğu korumak için herhangi bir hizmet türü olmaksızın bir alt ağ kullanmaya çalışır. Bir ağdaki tüm alt ağların bir hizmet türü varsa, IPAM sürücüsü uyumluluğu koruyamaz. Bununla birlikte, bu özellik eşleşen bir aygıt sahibi olan alt ağlardan sıkı IP tahsisi yapılmasını sağlar. Birden çok alt ağa aynı hizmet türü içeriyorsa veya bir hizmet türü olmayan bir alt ağ varsa, IPAM sürücüsü, eşleşen bir hizmet türü olan ilk alt ağı seçer. Örneğin, bir kayan IP aracı ağ geçidi bağlantı noktası aşağıdaki seçim sürecini kullanır:
network:floatingip_agent_gateway
None
Not
network:dhcp
aygıt sahibine sahip bağlantı noktaları, dhcp_enabled
değeri True
olarak ayarlanmış alt ağlar için IPAM mantığından muaftır. Bu, DHCP’nin etkin olduğu alt ağlar için mevcut otomatik DHCP bağlantı noktası oluşturma davranışını korur.
Belirli bir alt ağa sahip bir bağlantı noktasının oluşturulması veya güncellenmesi, bu seçim işlemini atlar ve verilen alt ağ’ı açıkça kullanır.
Not
Hizmet türüne sahip bir alt ağ oluşturmak yönetimsel ayrıcalıkları gerektirir.
Aşağıdaki örnek gerçek bir dağıtım için tipik değildir. Kullanıcıların, hizmet alt ağlarını yapılandırarak denemelerine olanak tanıdığı gösterilmiştir.
Bir ağ oluştur.
$ 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 | [] |
+---------------------------+--------------------------------------+
Bir veya daha fazla hizmet türüne sahip ağda bir alt ağ oluşturun. Örneğin, compute:nova
servis tipi, örneklerin bu alt ağı kullanmasını sağlar.
$ openstack subnet create demo-subnet1 --subnet-range 192.0.2.0/24 \
--service-type 'compute:nova' --network demo-net1
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| id | 6e38b23f-0b27-4e3c-8e69-fd23a3df1935 |
| ip_version | 4 |
| cidr | 192.0.2.0/24 |
| name | demo-subnet1 |
| network_id | b5b729d8-31cc-4d2c-8284-72b3291fec02 |
| service_types | ['compute:nova'] |
| tenant_id | a8b3054cc1214f18b1186b291525650f |
+-------------------+--------------------------------------+
İsteğe bağlı olarak, ağda farklı bir hizmet türü olan başka bir alt ağ oluşturun. Örneğin, compute:foo
keyfi hizmet tipi.
$ openstack subnet create demo-subnet2 --subnet-range 198.51.100.0/24 \
--service-type 'compute:foo' --network demo-net1
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| id | ea139dcd-17a3-4f0a-8cca-dff8b4e03f8a |
| ip_version | 4 |
| cidr | 198.51.100.0/24 |
| name | demo-subnet2 |
| network_id | b5b729d8-31cc-4d2c-8284-72b3291fec02 |
| service_types | ['compute:foo'] |
| tenant_id | a8b3054cc1214f18b1186b291525650f |
+-------------------+--------------------------------------+
Ağı kullanarak bir sunucuyu başlatın. Örneğin, cirros
imajını ve m1.tiny
flavor’ını kullanarak.
$ 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 |
+--------------------------------------+-----------------------------------------------+
Sunucu durumunu kontrol edin. Ağlar
alanına, compute:nova
hizmet türüne sahip olan bir alt ağa ait bir IP adresi bulunur.
$ openstack server list
+--------------------------------------+-----------------+---------+---------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-----------------+---------+---------------------+
| 20181f46-5cd2-4af8-9af0-f4cf5c983008 | demo-instance1 | ACTIVE | demo-net1=192.0.2.3 |
+--------------------------------------+-----------------+---------+---------------------+
Aşağıdaki örnek, genel IP adresi tüketimini en aza indirgemek amacıyla bir DVR etkin dağıtımda servis alt ağlarını nasıl yapılandırabileceğinizin ana hatlarını vermektedir. Bu örnek aynı dış ağ üzerinde üç alt ağ kullanmaktadır:
Bu örnek yine Örnek 1 - Konseptin ispatı`_nda oluşturulan ``demo-net1` (b5b729d8-31cc-4d2c-8284-72b3291fec02) özel ağı kullanır.
Harici bir ağ oluştur:
$ openstack network create --external demo-ext-net
Örnek yüzen IP adresleri için harici ağda bir alt ağ oluşturun. Bu, network:floatingip
hizmet türünü kullanır.
$ openstack subnet create demo-floating-ip-subnet \
--subnet-range 192.0.2.0/24 --no-dhcp \
--service-type 'network:floatingip' --network demo-ext-net
Hesaplama düğümlerinde DVR tarafından yapılandırılan kayan IP aracı ağ geçidi IP adresleri için harici ağda bir alt ağ oluşturun. Bu, network:floatingip_agent_gateway
servis türünü kullanacaktır.
$ openstack subnet create demo-floating-ip-agent-gateway-subnet \
--subnet-range 198.51.100.0/24 --no-dhcp \
--service-type 'network:floatingip_agent_gateway' \
--network demo-ext-net
Harici ağ üzerinde tahsis edilen diğer tüm IP adresleri için harici ağda bir alt ağ oluşturun. Bu herhangi bir hizmet türünü kullanmaz. Yukarıdaki iki hizmet alt ağacından herhangi biriyle uyuşmayan ayırmalar için kurtarma işlevini görür.
$ openstack subnet create demo-other-subnet \
--subnet-range 203.0.113.0/25 --no-dhcp \
--network demo-ext-net
Bir yönlendirici oluştur:
$ openstack router create demo-router
demo-subnet1 üzerinde yönlendiriciye bir arabirim ekle:
$ openstack router add subnet demo-router demo-subnet1
Bir arayüz oluşturacak ve demo-ext-net üzerinde bir IP adresi tahsis edecek yönlendirici için harici ağ geçidini ayarlayın:
$ neutron router-gateway-set demo-router demo-ext-net
Özel bir ağda bir örneği başlatın ve tahsis edilen neutron bağlantı noktası kimliğini alın. Yukarıdaki gibi cirros
imajını ve m1.tiny
flavor’ını kullanın:
$ openstack server create demo-instance1 --flavor m1.tiny \
--image cirros --nic net-id=b5b729d8-31cc-4d2c-8284-72b3291fec02
$ openstack port list --server demo-instance1
+--------------------------------------+------+-------------------+--------------------------------------------------+--------+
| ID | Name | MAC Address | Fixed IP Addresses | Status |
+--------------------------------------+------+-------------------+--------------------------------------------------+--------+
| a752bb24-9bf2-4d37-b9d6-07da69c86f19 | | fa:16:3e:99:54:32 | ip_address='203.0.113.130', | ACTIVE |
| | | | subnet_id='6e38b23f-0b27-4e3c-8e69-fd23a3df1935' | |
+--------------------------------------+------+-------------------+--------------------------------------------------+--------+
Yüzen bir IP’yi sunucu bağlantı noktasıyla ilişkilendirin ve doğru alt ağdan bir IP adresi tahsis edildiğini doğrulayın:
$ openstack floating ip create --port \
a752bb24-9bf2-4d37-b9d6-07da69c86f19 demo-ext-net
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| fixed_ip_address | 203.0.113.130 |
| floating_ip_address | 192.0.2.12 |
| floating_network_id | 02d236d5-dad9-4082-bb6b-5245f9f84d13 |
| id | f15cae7f-5e05-4b19-bd25-4bb71edcf3de |
| port_id | a752bb24-9bf2-4d37-b9d6-07da69c86f19 |
| project_id | d44c19e056674381b86430575184b167 |
| router_id | 5a8ca19f-3703-4f81-bc29-db6bc2f528d6 |
| status | ACTIVE |
+---------------------+--------------------------------------+
admin kullanıcısı olarak, neutron yönlendiricilerinin doğru alt ağlarından IP adresleri tahsis edildiğini doğrulayın. Yönlendiricilerle bağlantılı bağlantı noktalarını bulmak için openstack port list
kullanın.
İlk olarak, yönlendirici ağ geçidi harici bağlantı noktası:
$ neutron port-show f148ffeb-3c26-4067-bc5f-5c3dfddae2f5
+-----------------------+--------------------------------------------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------------------------------------------+
| admin_state_up | UP |
| device_id | 5a8ca19f-3703-4f81-bc29-db6bc2f528d6 |
| device_owner | network:router_gateway |
| extra_dhcp_opts | |
| fixed_ips | ip_address='203.0.113.11', |
| | subnet_id='67c251d9-2b7a-4200-99f6-e13785b0334d' |
| id | f148ffeb-3c26-4067-bc5f-5c3dfddae2f5 |
| mac_address | fa:16:3e:2c:0f:69 |
| network_id | 02d236d5-dad9-4082-bb6b-5245f9f84d13 |
| project_id | |
| status | ACTIVE |
+-----------------------+--------------------------------------------------------------------------+
İkincisi, yönlendirici yüzen IP ajan geçidi harici bağlantı noktası:
$ neutron port-show a2d1e756-8ae1-4f96-9aa1-e7ea16a6a68a
+-----------------------+--------------------------------------------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------------------------------------------+
| admin_state_up | UP |
| device_id | 3d0c98eb-bca3-45cc-8aa4-90ae3deb0844 |
| device_owner | network:floatingip_agent_gateway |
| extra_dhcp_opts | |
| fixed_ips | ip_address='198.51.100.10', |
| | subnet_id='67c251d9-2b7a-4200-99f6-e13785b0334d' |
| id | a2d1e756-8ae1-4f96-9aa1-e7ea16a6a68a |
| mac_address | fa:16:3e:f4:5d:fa |
| network_id | 02d236d5-dad9-4082-bb6b-5245f9f84d13 |
| project_id | |
| status | ACTIVE |
+-----------------------+--------------------------------------------------------------------------+
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.