Servis altağları

Servis altağları

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.

İşlem

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.

Kullanım

Not

Hizmet türüne sahip bir alt ağ oluşturmak yönetimsel ayrıcalıkları gerektirir.

Örnek 1 - Kavramın-ispatı

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.

  1. 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                      | []                                   |
    +---------------------------+--------------------------------------+
    
  2. 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     |
    +-------------------+--------------------------------------+
    
  3. İ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     |
    +-------------------+--------------------------------------+
    
  4. 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              |
    +--------------------------------------+-----------------------------------------------+
    
  5. 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 |
    +--------------------------------------+-----------------+---------+---------------------+
    

Örnek 2 - DVR yapılandırması

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:

  • Sunucu yüzen IP adresleri için 192.0.2.0/24
  • Hesaplama düğümlerinde yapılandırılmış yüzen IP ajan ağ geçidi IP’leri için 198.51.100.0/24
  • Harici ağdaki diğer tüm IP tahsisi için 203.0.113.0/25

Bu örnek yine Örnek 1 - Konseptin ispatı`_nda oluşturulan ``demo-net1` (b5b729d8-31cc-4d2c-8284-72b3291fec02) özel ağı kullanır.

  1. Harici bir ağ oluştur:

    $ openstack network create --external demo-ext-net
    
  2. Ö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
    
  3. 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
    
  4. 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
    
  5. Bir yönlendirici oluştur:

    $ openstack router create demo-router
    
  6. demo-subnet1 üzerinde yönlendiriciye bir arabirim ekle:

    $ openstack router add subnet demo-router demo-subnet1
    
  7. 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
    
  8. Ö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' |        |
    +--------------------------------------+------+-------------------+--------------------------------------------------+--------+
    
  9. 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                               |
    +---------------------+--------------------------------------+
    
  10. 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                                                                   |
    +-----------------------+--------------------------------------------------------------------------+
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.