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:

  • Buat jaringan

  • Create a subnet
  • Buat 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 situ, dan mungkin memerlukan pengetahuan jaringan dimana pengguna mungkin tidak memilikinya.

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

Untuk membuat ini mungkin, berikanlah jaringan eksternal standar dan subnetpools 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 standard ini di tempat, pengguna dapat boot VM mereka tanpa menentukan rincian jaringan. Layanan Compute kemudian akan menggunakan fitur ini secara otomatis untuk kawat VM pengguna.

Mengaktifkan pengerahan untuk auto-alokasi

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

  • 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 pada OpenStack Administrator Guide <http://docs.openstack.org/admin-guide/networking-adv-features.html> _. 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.

    $ neutron subnetpool-create --shared --is-default True\
      --pool-prefix 10.0.0.0/24 --default-prefixlen 26 shared-default
    
    Created a new subnetpool:
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | address_scope_id  |                                      |
    | default_prefixlen | 26                                   |
    | default_quota     |                                      |
    | id                | 7923bc31-4ca4-4c95-9ec2-d69b21775ee2 |
    | ip_version        | 4                                    |
    | is_default        | True                                 |
    | max_prefixlen     | 32                                   |
    | min_prefixlen     | 8                                    |
    | name              | shared-default                       |
    | prefixes          | 10.0.0.0/24                          |
    | shared            | True                                 |
    | tenant_id         | 375e91c9dc854aaa8c8fd93f4b24e87c     |
    +-------------------+--------------------------------------+
    
    $ neutron subnetpool-create --shared --is-default True\
      --pool-prefix 2001:db8:8000::/48 --default-prefixlen 64 default-v6
    
    Created a new subnetpool:
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | address_scope_id  |                                      |
    | default_prefixlen | 64                                   |
    | default_quota     |                                      |
    | id                | 953b28ab-5afa-42ea-8f44-44bf111672b1 |
    | ip_version        | 6                                    |
    | is_default        | True                                 |
    | max_prefixlen     | 128                                  |
    | min_prefixlen     | 64                                   |
    | name              | default-v6                           |
    | prefixes          | 2001:db8:8000::/48                   |
    | shared            | True                                 |
    | tenant_id         | 375e91c9dc854aaa8c8fd93f4b24e87c     |
    +-------------------+--------------------------------------+
    

Get Me A Network (dapatkan saya jaringan)

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

$ neutron auto-allocated-topology-show
+-----------+--------------------------------------+
| Field     | Value                                |
+-----------+--------------------------------------+
| id        | 8b835bfb-cae2-4acc-b53f-c16bb5f9a7d0 |
| 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 |
| tenant_id | 3a4e311bcb3545b9b7ad326f93194f8c     |
+-----------+--------------------------------------+

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

$ nova boot --flavor m1.small --image cirros-0.3.4-x86_64-uec\
  --nic net-id=8b835bfb-cae2-4acc-b53f-c16bb5f9a7d0 vm1

Topologi auto-allocated untuk pengguna tidak pernah berubah. Dalam prakteknya, ketika pengguna 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 melewatkannya 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, gunakanlah 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, opsi itu dianggap utama untuk admin atau utilitas layanan karena merupakan mereka operator yang harus menyiapkan 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. Hal ini karena, tidak seperti fitur neutron yang dilaksanakan dalam rilis Mitaka, integrasi untuk nova selesai selama siklus rilis Newton. Perhatikan bahwa opsi CLI --nic dapat dihilangkan terlepas dari microversion 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 memulai menggunakan fitur ini, terlepas dari apakah tidak ada permintaan pengguna mikro versi 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.