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:
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.
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:
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.
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 |
+-------------------+--------------------------------------+
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.
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 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 |
---|---|
ağ | auto_allocated_network |
altağ (IPv4) | auto_allocated_subnet_v4 |
altağ (IPv6) | auto_allocated_subnet_v6 |
yönlendirici | auto_allocated_router |
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.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.