Ağ topolojilerinin otomatik olarak tahsisi

Ağ topolojilerinin otomatik olarak tahsisi

Mitaka’da tanıtılan otomatik tahsis özelliği son kullanıcılar için harici bir bağlantı kurma yordamını kolaylaştırır ve ayrıca Bana Bir Ağ Al olarak da bilinir.

Daha önce, bir kullanıcının bir sunucuyu önyüklemesi ve İnternet’e erişmesi için bir dizi ağ kaynağı yapılandırması gerekiyordu. Örneğin, aşağıdaki adımlar gereklidir:

  • Bir ağ oluştur
  • Bir altağ oluştur
  • Bir yönlendirici oluştur
  • Harici bir ağda yönlendiriciyi bağlayın
  • Daha önce oluşturulmuş altağa yönlendiriciyi bağlayın

Bu adımların, bir VM’nin bağlı olması gereken her mantıksal kesim üzerinde gerçekleştirilmesi gerekir ve kullanıcıya sahip olmadığı ağ bilgisi gerektirebilir.

Bu özellik, projeler için temel ağ sağlama işlemini otomatikleştirmek için tasarlanmıştır. Temel bir ağ oluşturmaya yönelik adımlar, ağ önbelleği kurulumunu şeffaf hale getirerek, önyükleme sırasında çalıştırılır.

Bunu mümkün kılmak için platformun giriş yerine ne yapacağını seçebilmesi için bir varsayılan dış ağ ve varsayılan alt ağ havuzlarını sağlayın (IPv4 için bir veya IPv6 için biri veya her biri için biri). Bunlar yerine getirildikten sonra, kullanıcılar herhangi bir ağ ayrıntısı belirtmeden VM’lerini önyükleyebilir. Compute hizmeti daha sonra bu özelliği, kullanıcı VM’lerini bağlamak için otomatik olarak kullanacaktır.

Otomatik yer ayırma için yayımlamayı aktifleştir

Bu özelliği kullanmak için neutron hizmetinin aşağıdaki uzantıları etkinleştirmiş olması gerekir:

  • auto-allocated-topology
  • subnet_allocation
  • external-net
  • router

Son kullanıcı otomatik tahsis özelliğini kullanabilmeden önce, operatör otomatik olarak tahsis edilen ağ topolojisi oluşturma için kullanılacak kaynakları oluşturmalıdır. Bu görevi gerçekleştirmek için aşağıdaki adımları takip edin:

  1. Varsayılan harici ağı ayarlayın

    Bir harici ağ ayarlama OpenStack Yönetim Kılavuzu‘nda açıklanmıştır. Otomatik tahsis özelliği için kullanılacak harici ağın``public`` isimli olduğunu varsayıp, bu ağı aşağıdaki komutlar ile varsayılan harici ağ yapalım:

    $ neutron net-update public --is-default=True
    

    Not

    --default (ve --no-default) bayrağı sadece harici ağlarda etkilisir ve düz (veya dahili) ağlara bir etkisi yoktur.

  2. Varsayılan altağ havuzu oluştur

    Otomatik yer ayırma özelliği en azından bir adet varsayılan alt ağ havuzuna ihtiyaç duyar. Bir tane IPv4 için veya bir tane IPv6 için veya bir tane her ikisi için.

    $ openstack subnet pool create --share --default \
      --pool-prefix 192.0.2.0/24 --default-prefix-length 26 \
      shared-default
    
      +-------------------+--------------------------------------+
      | Field             | Value                                |
      +-------------------+--------------------------------------+
      | address_scope_id  | None                                 |
      | created_at        | 2017-01-12T15:10:34Z                 |
      | default_prefixlen | 26                                   |
      | default_quota     | None                                 |
      | description       |                                      |
      | headers           |                                      |
      | id                | b41b7b9c-de57-4c19-b1c5-731985bceb7f |
      | ip_version        | 4                                    |
      | is_default        | True                                 |
      | max_prefixlen     | 32                                   |
      | min_prefixlen     | 8                                    |
      | name              | shared-default                       |
      | prefixes          | 192.0.2.0/24                         |
      | project_id        | 86acdbd1d72745fd8e8320edd7543400     |
      | revision_number   | 1                                    |
      | shared            | True                                 |
      | updated_at        | 2017-01-12T15:10:34Z                 |
      +-------------------+--------------------------------------+
    
    $ openstack subnet pool create --share --default \
      --pool-prefix 2001:db8:8000::/48 --default-prefix-length 64 \
      default-v6
    
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | address_scope_id  | None                                 |
    | created_at        | 2017-01-12T15:14:35Z                 |
    | default_prefixlen | 64                                   |
    | default_quota     | None                                 |
    | description       |                                      |
    | headers           |                                      |
    | id                | 6f387016-17f0-4564-96ad-e34775b6ea14 |
    | ip_version        | 6                                    |
    | is_default        | True                                 |
    | max_prefixlen     | 128                                  |
    | min_prefixlen     | 64                                   |
    | name              | default-v6                           |
    | prefixes          | 2001:db8:8000::/48                   |
    | project_id        | 86acdbd1d72745fd8e8320edd7543400     |
    | revision_number   | 1                                    |
    | shared            | True                                 |
    | updated_at        | 2017-01-12T15:14:35Z                 |
    +-------------------+--------------------------------------+
    

Bana Bir Ağ Al

Operatörün yukarıda açıklandığı gibi kaynakları kurduğu bir dağıtımda, kullanıcıların otomatik olarak tahsis edilen ağ topolojisini aşağıdaki gibi alınabileceğini doğrulayın:

$ neutron auto-allocated-topology-show
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| id         | 8b835bfb-cae2-4acc-b53f-c16bb5f9a7d0 |
| project_id | 3a4e311bcb3545b9b7ad326f93194f8c     |
| tenant_id  | 3a4e311bcb3545b9b7ad326f93194f8c     |
+------------+--------------------------------------+

Operatörler (ve yönetici rolüne sahip kullanıcılar), proje kimliği belirterek bir proje için otomatik olarak ayrılmış topolojiyi elde edebilirler:

$ neutron auto-allocated-topology-show 3a4e311bcb3545b9b7ad326f93194f8c
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| id         | 8b835bfb-cae2-4acc-b53f-c16bb5f9a7d0 |
| project_id | 3a4e311bcb3545b9b7ad326f93194f8c     |
| tenant_id  | 3a4e311bcb3545b9b7ad326f93194f8c     |
+------------+--------------------------------------+

Bu komut tarafından döndürülen kimlik, bir VM’yi önyüklemek için kullanılabilen bir ağdır.

$ openstack server create --flavor m1.small --image \
  cirros-0.3.5-x86_64-uec --nic \
  net-id=8b835bfb-cae2-4acc-b53f-c16bb5f9a7d0 vm1

Bir kullanıcı için otomatik olarak ayrılan topoloji hiçbir zaman değişmez. Uygulamada, bir kullanıcı --nic seçeneğini ihmal eden ve herhangi bir neutron ağı bulunmayan bir sunucu önyüklediğinde, nova auto-allocated-topology-show‘ın arkasındaki API’yi çağırıp ağ UUID’sini getirir, ve önyükleme işlemi sırasında onu iletir.

Otomatik yer ayırma gereksinimlerini doğrulama

Gerekli kaynakların otomatik tahsis için doğru şekilde kurulduğunu doğrulamak için, herhangi bir kaynağı gerçekte provizyon yapmadan --dry-run seçeneğini kullanın:

$ neutron auto-allocated-topology-show --dry-run
Deployment error: No default router:external network.

$ neutron net-update public --is-default=True

$ neutron auto-allocated-topology-show --dry-run
Deployment error: No default subnetpools defined.

$ neutron subnetpool-update shared-default --is-default=True

$ neutron auto-allocated-topology-show --dry-run
+---------+-------+
| Field   | Value |
+---------+-------+
| dry_run | pass  |
+---------+-------+

Doğrulama seçeneği tüm kullanıcılar için aynı davranır. Bununla birlikte, gereksinimleri ayarlamanız gereken operatör olduğundan, öncelikle bir yönetici veya hizmet aracı olarak düşünülür.

Otomatik tahsis tarafından oluşturulan proje kaynakları

Otomatik ayırma özelliği, kullanılan her projede bir ağ topolojisi oluşturur. Bir proje için otomatik olarak ayrılan ağ topolojisi aşağıdaki kaynakları içerir:

Kaynak İsim
auto_allocated_network
altağ (IPv4) auto_allocated_subnet_v4
altağ (IPv6) auto_allocated_subnet_v6
yönlendirici auto_allocated_router

Uyumluluk notları

Nova, API mikro sürüm 2.37 veya sonrası olan auto-allocated-typology özelliğini kullanıyor. Bunun nedeni, Mitaka sürümünde uygulanan neutron özelliğinin aksine, Newton sürümü sırasında nova için entegrasyon tamamlanmış olmasıdır. Projede kullanılabilir birden fazla ağ olmadığı sürece, --nic CLI seçeneğinin kullanılmasına bakılmaksızın, atlanabileceğini unutmayın; bu durumda nova, 400 hatasıyla başarısız olur; çünkü kullanacağınız ağ hangisinin hangisi olduğunu bilmiyor. Ayrıca, nova-compute hizmetlerinin tümü Newton seviyesinde kod çalıştırmadıkça, kullanıcı bir mikro sürüm 2.37 veya daha ileri sürüm talep edip etmediğine bakılmaksızın, bu özelliği kullanmaya başlamıyor.

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.