Alokasi otomatis topologi jaringan

Alokasi otomatis topologi jaringan

Fitur auto-alokasi yang diperkenalkan di Mitaka menyederhanakan prosedur pemasangan sebuah konektivitas eksternal untuk end-user, dan juga dikenal sebagai Get Me A Network.

Sebelumnya, pengguna harus mengkonfigurasi berbagai sumber daya jaringan untuk boot server dan mendapatkan akses ke Internet. Misalnya, langkah berikut ini diperlukan:

  • Membuat network
  • Membuat subnet
  • Membuat router
  • Uplink router pada jaringan eksternal
  • Downlink router di subnet yang dibuat sebelumnya

Langkah ini perlu dilakukan pada setiap segmen logis dimana VM perlu terhubung ke segmen itu, dan mungkin memerlukan pengetahuan jaringan dimana pengguna mungkin tidak memilikinya.

Fitur ini dirancang untuk mengotomatisasi penyediaan jaringan dasar proyek. Langkah untuk penyediaan jaringan dasar dijalankan selama instance boot, pembuatan transparan persiapan jaringan.

Untuk membuat ini mungkin terjadi, berikanlah jaringan eksternal standar dan subnetpool standar (satu untuk IPv4, atau satu untuk IPv6, atau salah satu dari masing-masing) sehingga platform dapat memilih apa yang harus dilakukan sebagai pengganti input. Setelah standar ini di tempat, pengguna dapat boot VM mereka tanpa menentukan rincian jaringan. Layanan Compute kemudian akan menggunakan fitur ini secara otomatis untuk menghubungkan (wire) VM pengguna.

Mengaktifkan pengerahan untuk auto-allocation

Untuk menggunakan fitur ini, layanan neutron harus memiliki ekstensi yang diaktifkan berikut:

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

Sebelum end-user dapat menggunakan fitur auto-alokasi, operator harus menciptakan sumber daya yang akan digunakan untuk pembuatan topologi jaringan auto-allocated. Untuk melakukan tugas ini, lanjutkan dengan langkah-langkah berikut:

  1. Mengatur jaringan eksternal standar

    Menyiapkan jaringan eksternal dijelaskan di OpenStack Administrator Guide. Dengan asumsi jaringan eksternal yang akan digunakan untuk fitur alokasi otomatis dinamakan public, jadikan jaringan eksternal default dengan perintah berikut:

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

    Catatan

    Flag --default (and --no-default flag) hanya efektif dengan jaringan eksternal dan tidak memiliki efek pada jaringan reguler (atau internal).

  2. Buat subnetpools bawaan

    Fitur auto-alokasi membutuhkan setidaknya satu subnetpool default. Satu untuk IPv4, atau satu untuk IPv6, atau masing-masing satu.

    $ 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                 |
    +-------------------+--------------------------------------+
    

Get Me A Network (dapatkan saya jaringan)

Dalam pengerahan dimana operator telah menyiapkan sumber daya seperti dijelaskan di atas, lakukan validasi bahwa pengguna bisa mendapatkan topologi jaringan auto-allocated mereka sebagai berikut:

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

Operator (dan pengguna dengan peran admin) bisa mendapatkan topologi auto-allocated untuk proyek dengan menentukan ID proyek:

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

ID yang dikembalikan oleh perintah ini adalah jaringan yang dapat digunakan untuk booting VM.

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

Topologi auto-allocated untuk pengguna tidak pernah berubah. Dalam prakteknya, ketika pengguna mem-boot server menghilangkan opsi --nic, dan tidak memiliki jaringan neutron yang tersedia, nova akan memanggil ``auto-allocated-topology-show``belakang API, mengambil UUID jaringan , dan menyebarkannya selama proses boot.

Memvalidasi persyaratan untuk auto-alokasi

Untuk memvalidasi bahwa sumber daya yang diperlukan diatur dengan benar untuk auto-allocation, tanpa benar-benar penyediaan sumber daya apapun, gunakan opsi --dry-run:

$ 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  |
+---------+-------+

Opsi validasi berperilaku identik untuk semua pengguna. Namun, validasi itu dianggap utama bagi admin atau utilitas layanan karena merupakan operator yang harus menyiapkan dan memenuhi persyaratan itu.

Sumber daya proyek yang dibuat oleh auto-allocation

Fitur auto-alokasi menciptakan satu topologi jaringan di setiap proyek dimana ia digunakan. Topologi jaringan auto-allocated untuk proyek berisi sumber daya berikut:

Resource Name
network auto_allocated_network
subnet (IPv4) auto_allocated_subnet_v4
subnet (IPv6) auto_allocated_subnet_v6
router auto_allocated_router

Catatan kompatibilitas

Nova menggunakan fitur auto-allocated-typology dengan API micro versi 2.37 atau yang lebih baru. Penggunaan ini karena, tidak seperti fitur neutron yang diterapkan dalam rilis Mitaka, integrasi untuk nova telah diselesaikan selama siklus rilis Newton. Perhatikan bahwa opsi CLI --nic dapat dihilangkan terlepas dari microversion yang digunakan selama tidak ada lebih dari satu jaringan yang tersedia untuk proyek, dalam hal kegagalan nova dengan kesalahan 400 karena tidak tahu dimana jaringan yang akan digunakan. Selanjutnya, nova tidak mulai menggunakan fitur ini, terlepas dari apakah tidak ada permintaan pengguna micro version 2.37 atau yang lebih baru, kecuali semua layanan nova-compute menjalankan kode Newton-level.

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.