Altağ havuzları

Altağ havuzları

Alt ağ havuzları, Kilo sürümünden bu yana kullanıma sunulmuştur. İş akışınızı önemli ölçüde geliştirme potansiyeline sahip basit bir özelliktir. Ayrıca, OpenStack Ağ’a yeni özelliklerin ekleneceği bir yapı bloğu da sunar.

Bulutunuzun bu özelliği kullanıp kullanmadığını görmek için, bunun desteklenen takma adlar listesinde olup olmadığını kontrol edebilirsiniz. Bunu OpenStack istemcisi ile yapabilirsiniz.

$ openstack extension list | grep subnet_allocation
| Subnet Allocation | subnet_allocation | Enables allocation of subnets
from a subnet pool                                                                                                         |

Bunlara neden ihtiyacınız var

Kilo’dan önce, Networking’in bir alt ağ oluşturmak için kullanılan adreslerin etrafında otomasyonu yoktu. Bir tane oluşturmak için, sistemden herhangi bir yardım almadan kendi adresinizi bulmanız gerekiyordu. Bunun için geçerli kullanım örnekleri var, ancak aşağıdaki yeteneklerle ilgileniyorsanız, alt ağlar sizin için olabilir.

Öncelikle, adresler havuzunu bakmak için Neutron’a çevirirsen hoş olmaz mıydı? Bir alt ağ oluşturmanız gerektiğinde, sadece havuzdan tahsis edilecek adresler isteyin. Zaten kullandıklarınız ve havuzunuzdaki adresler hakkında endişelenmenize gerek yok. Alt ağ havuzları bunu yapabilir.

İkincisi, alt ağ havuzları projelerdeki adresleri yönetebilir. Adreslerin örtüşmemesi garanti edilir. Adresler harici olarak yönlendirilebilir bir havuzdan geliyorsa, tüm projelerin yönlendirilebilir ve benzersiz adresleri olduğunu biliyorsunuzdur. Bu, aşağıdaki senaryolarda yararlı olabilir.

  1. OpenStack Ağ IPv6 yüzen IP’leri olmadığından IPv6.
  2. Harici bir ağdan doğrudan bir proje ağına yönlendirme.

Nasıl çalışırlar

Bir alt ağ havuzu, alt ağların tahsis edilebileceği bir adres havuzu yönetir. Aynı havuzdan tahsis edilen herhangi bir iki alt ağ arasında çakışma olmamasını sağlar.

Bir OpenStack bulutundaki düzenli bir proje olarak, kendi alt ağ havuzunuzu oluşturabilir ve kendi adres havuzunuzu yönetmek için kullanabilirsiniz. Bu, herhangi bir yönetici ayrıcalığı gerektirmez. Havuzunuz başka hiçbir projeye görünmeyecek.

Eğer bir yönetici iseniz, normal bir proje tarafından erişilebilen bir havuz oluşturabilirsiniz. Paylaşılan bir kaynak olarak, erişimi tahkim etmek için bir kota mekanizması var.

Kota

Alt ağ havuzlarının, Neutron’daki diğer kotalardan biraz farklı bir kota sistemi var. Neutron’daki diğer kotalar, kotaya karşı bir nesnenin ayrı örneklerini sayarlar. Bir yönlendirici, ağ veya port gibi bir şey oluşturduğunuzda, toplam kotanızdan bir tane kullanır.

Alt ağlarla, kaynak, IP adresi alanıdır. Bazı alt ağlar diğerlerinden daha fazla alır. Örneğin, 203.0.113.0/24 bir alt ağda 256 adres kullanıyor ancak 198.51.100.224/28 yalnızca 16 kullanıyor. Adres alanı sınırlıysa, kota sistemi alanın verimli kullanılmasını teşvik edebilir.

IPv4 ile default_quota, belirli bir projenin havuzdan tüketmesine izin verilen mutlak adres sayısına ayarlanabilir. Örneğin, 128 kotasıyla 203.0.113.128/26, 203.0.113.224/28 alabilir ve gelecekte 48 daha fazla adres tahsis etme imkânı kalır.

IPv6 ile biraz farklıdır. Bireysel adresleri saymak pratik değildir. Gülünç derecede büyük sayılardan kaçınmak için, kota tahsis edilebilen /64 alt ağacın sayısıyla ifade edilir. Örneğin, default_quota değeri 3 olan ben 2001:db8:c18e:c05a::/64, 2001:db8:221c:8ef3::/64 alabilirim ve yine de gelecekte bir önek daha ayırmak için yerim var.

Varsayılan altağ havuzları

Mitaka ile başlayarak, bir alt ağ havuzu varsayılan olarak işaretlenebilir. Bu, yeni bir uzantıyla ele alınır.

$ openstack extension list | grep default-subnetpools
| Default Subnetpools | default-subnetpools | Provides ability to mark
and use a subnetpool as the default                                                                                             |

Bir yönetici havuzu varsayılan olarak işaretleyebilir. Her bir adres ailesinden yalnızca bir havuz varsayılan olarak işaretlenebilir.

$ openstack subnet pool set --default 74348864-f8bf-4fc0-ab03-81229d189467

Bir varsayılan varsa, --subnet-pool SUBNETPOOL yerine --use-default-subnetpool iletilerek istenebilir.

Deneme

Bir OpenStack Kilo veya daha sonrasına dayalı bir neutron’a erişiminiz varsa, şimdi bu özellikle oynayabilirsiniz. Bir şans ver. Aşağıdaki komutların tümü IPv6 adresleriyle eşit derecede çalışır.

Önce admin olarak paylaşılan bir alt ağ havuzu oluşturun:

$ openstack subnet pool create --share --pool-prefix 203.0.113.0/24 \
--default-prefix-length 26 demo-subnetpool4
+-------------------+--------------------------------+
| Field             | Value                          |
+-------------------+--------------------------------+
| address_scope_id  | None                           |
| created_at        | 2016-12-14T07:21:26Z           |
| default_prefixlen | 26                             |
| default_quota     | None                           |
| description       |                                |
| headers           |                                |
| id                | d3aefb76-2527-43d4-bc21-0ec253 |
|                   | 908545                         |
| ip_version        | 4                              |
| is_default        | False                          |
| max_prefixlen     | 32                             |
| min_prefixlen     | 8                              |
| name              | demo-subnetpool4               |
| prefixes          | 203.0.113.0/24                 |
| project_id        | cfd1889ac7d64ad891d4f20aef9f8d |
|                   | 7c                             |
| revision_number   | 1                              |
| shared            | True                           |
| updated_at        | 2016-12-14T07:21:26Z           |
+-------------------+--------------------------------+

default_prefix_length, bir alt ağ oluştururken --prefix-length belirtmezseniz alacağınız alt ağ boyutunu tanımlar.

IPv6 için temel olarak aynı şeyi yapın ve şimdi iki altağ havuzunuz var. Normal projeler bunları görebilir. (çıktı görselleştirmek için sadeleştirilmiştir)

$ openstack subnet pool list
+------------------+------------------+--------------------+
| ID               | Name             | Prefixes           |
+------------------+------------------+--------------------+
| 2b7cc19f-0114-4e | demo-subnetpool  | 2001:db8:a583::/48 |
| f4-ad86-c1bb91fc |                  |                    |
| d1f9             |                  |                    |
| d3aefb76-2527-43 | demo-subnetpool4 | 203.0.113.0/24     |
| d4-bc21-0ec25390 |                  |                    |
| 8545             |                  |                    |
+------------------+------------------+--------------------+

Şimdi bunları kullanın. Bir havuzdan bir alt ağ oluşturmak kolaydır:

$ openstack subnet create --ip-version 4 --subnet-pool \
demo-subnetpool4 --network demo-network1 demo-subnet1
+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| allocation_pools  | 203.0.113.194-203.0.113.254          |
| cidr              | 203.0.113.192/26                     |
| created_at        | 2016-12-14T07:33:13Z                 |
| description       |                                      |
| dns_nameservers   |                                      |
| enable_dhcp       | True                                 |
| gateway_ip        | 203.0.113.193                        |
| headers           |                                      |
| host_routes       |                                      |
| id                | 8d4fbae3-076c-4c08-b2dd-2d6175115a5e |
| ip_version        | 4                                    |
| ipv6_address_mode | None                                 |
| ipv6_ra_mode      | None                                 |
| name              | demo-subnet1                         |
| network_id        | 6b377f77-ce00-4ff6-8676-82343817470d |
| project_id        | cfd1889ac7d64ad891d4f20aef9f8d7c     |
| revision_number   | 2                                    |
| service_types     |                                      |
| subnetpool_id     | d3aefb76-2527-43d4-bc21-0ec253908545 |
| updated_at        | 2016-12-14T07:33:13Z                 |
+-------------------+--------------------------------------+

Havuzdan belirli bir alt ağ isteyebilirsiniz. Havuzun öneklerine giren bir alt ağ belirtmeniz gerekir. Alt ağ önceden ayrılmış değilse, istek başarılı olur. IP versiyonunu, alt ağ havuzundan çıkarsa bırakabilirsiniz.

$ openstack subnet create --subnet-pool demo-subnetpool4 \
--network demo-network1 --subnet-range 203.0.113.128/26 subnet2
+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| allocation_pools  | 203.0.113.130-203.0.113.190          |
| cidr              | 203.0.113.128/26                     |
| created_at        | 2016-12-14T07:27:40Z                 |
| description       |                                      |
| dns_nameservers   |                                      |
| enable_dhcp       | True                                 |
| gateway_ip        | 203.0.113.129                        |
| headers           |                                      |
| host_routes       |                                      |
| id                | d32814e3-cf46-4371-80dd-498a80badfba |
| ip_version        | 4                                    |
| ipv6_address_mode | None                                 |
| ipv6_ra_mode      | None                                 |
| name              | subnet2                              |
| network_id        | 6b377f77-ce00-4ff6-8676-82343817470d |
| project_id        | cfd1889ac7d64ad891d4f20aef9f8d7c     |
| revision_number   | 2                                    |
| service_types     |                                      |
| subnetpool_id     | d3aefb76-2527-43d4-bc21-0ec253908545 |
| updated_at        | 2016-12-14T07:27:40Z                 |
+-------------------+--------------------------------------+

Havuz tükenirse, daha fazla ön ek yükleyin:

$ openstack subnet pool set --pool-prefix \
198.51.100.0/24 demo-subnetpool4
$ openstack subnet pool show demo-subnetpool4
+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| address_scope_id  | None                                 |
| created_at        | 2016-12-14T07:21:26Z                 |
| default_prefixlen | 26                                   |
| default_quota     | None                                 |
| description       |                                      |
| id                | d3aefb76-2527-43d4-bc21-0ec253908545 |
| ip_version        | 4                                    |
| is_default        | False                                |
| max_prefixlen     | 32                                   |
| min_prefixlen     | 8                                    |
| name              | demo-subnetpool4                     |
| prefixes          | 198.51.100.0/24, 203.0.113.0/24      |
| project_id        | cfd1889ac7d64ad891d4f20aef9f8d7c     |
| revision_number   | 2                                    |
| shared            | True                                 |
| updated_at        | 2016-12-14T07:30:32Z                 |
+-------------------+--------------------------------------+
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.