Contoh arsitektur ini menambah contoh pengerahan self-service dengan mekanisme ketersediaan tinggi Distributed Virtual Router (DVR) yang menyediakan konektivitas antara jaringan self-service dan jaringan provider pada node komputasi bukannya pada node jaringan untuk skenario tertentu. Untuk instance dengan alamat IPv4 mengambang, routing antara jaringan self-service dan jaringan provider berada sepenuhnya pada node komputasi untuk menghilangkan titik tunggal kegagalan (single point of failure) dan masalah kinerja dengan node jaringan. Routing juga berada sepenuhnya pada node komputasi untuk instance dengan alamat IPv4 tetap atau mengambang dengan menggunakan jaringan self-service dari router virtual terdistribusikan yang sama. Namun, instance dengan alamat IP tetap masih mengandalkan node jaringan untuk routing dan layanan SNAT antara jaringan self-service dan provider.
Pertimbangkan atribut berikut mekanisme ketersediaan tinggi ini untuk menentukan kepraktisan di lingkungan Anda:
Hanya menyediakan konektivitas ke sebuah instance melalui node komputasi dimana instance berada jika instance berada pada jaringan self-service dengan alamat IPv4 mengambang. Instance pada jaringan self-service dengan hanya alamat IPv6 atau kedua alamat IPv4 dan IPv6 tergantung pada node jaringan untuk konektivitas IPv6.
Instance router pada setiap node komputasi mengkonsumsi alamat IPv4 pada jaringan provider yang mengandung gateway.
Memodifikasi node komputasi dengan komponen-komponen berikut:
Instal agen lapisan-3 OpenStack Networking.
Catatan
Pertimbangkan untuk menambahkan setidaknya satu node jaringan tambahan untuk menyediakan ketersediaan tinggi untuk instance dengan alamat IP tetap. Lihat lihat :ref: config-dvr-SNAT-ha-ovs untuk informasi lebih lanjut.
Gambar berikut menunjukkan komponen dan konektivitas untuk satu jaringan self-service dan satu jaringan tanpa tanda (flat). Dalam kasus ini, instance berada pada node komputasi yang sama sebagai agen DHCP untuk jaringan. Jika agen DHCP berada pada node komputasi lain, yang terakhir hanya berisi namespace DHCP dengan port pada jembatan integrasi OVS.
Menggunakan contoh konfigurasi berikut sebagai template untuk menambahkan dukungan untuk ketersediaan tinggi menggunakan DVR di lingkungan operasional yang ada yang mendukung jaringan self-service.
Dalam file neutron.conf
:
Aktifkan routing terdistribusikan dengan default untuk semua router.
[DEFAULT]
router_distributed = True
Restart layanan berikut:
Dalam file openswitch_agent.ini
, aktifkan didistribusikan routing.
[DEFAULT]
enable_distributed_routing = True
Dalam file l3_agent.ini
, lakukan konfigurasi agen lapisan-3 untuk memberikan layanan SNAT
[DEFAULT]
agent_mode = dvr_snat
Catatan
Opsi external_network_bridge
sengaja tidak mengandung nilai.
Restart layanan berikut:
Agen Open vSwitch
Layer-3 agent (agen lapisan-3)
Instal agen lapisan-3 layanan Networking
Dalam file openswitch_agent.ini
, aktifkan didistribusikan routing.
[DEFAULT]
enable_distributed_routing = True
Restart layanan berikut:
Agen Open vSwitch
Dalam file l3_agent.ini
, lakukan konfigurasi layer-3 agent.
[DEFAULT]
interface_driver = openvswitch
external_network_bridge =
agent_mode = dvr
Catatan
Opsi external_network_bridge
sengaja tidak mengandung nilai.
Dapatkan sumber kredensial proyek administrasi.
Memverifikasi keberadaan dan operasi dari agen.
$ openstack network agent list
+--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+
| 05d980f2-a4fc-4815-91e7-a7f7e118c0db | L3 agent | compute1 | nova | True | UP | neutron-l3-agent |
| 1236bbcb-e0ba-48a9-80fc-81202ca4fa51 | Metadata agent | compute2 | | True | UP | neutron-metadata-agent |
| 2a2e9a90-51b8-4163-a7d6-3e199ba2374b | L3 agent | compute2 | nova | True | UP | neutron-l3-agent |
| 457d6898-b373-4bb3-b41f-59345dcfb5c5 | Open vSwitch agent | compute2 | | True | UP | neutron-openvswitch-agent |
| 513caa68-0391-4e53-a530-082e2c23e819 | Linux bridge agent | compute1 | | True | UP | neutron-linuxbridge-agent |
| 71f15e84-bc47-4c2a-b9fb-317840b2d753 | DHCP agent | compute2 | nova | True | UP | neutron-dhcp-agent |
| 8805b962-de95-4e40-bdc2-7a0add7521e8 | L3 agent | network1 | nova | True | UP | neutron-l3-agent |
| a33cac5a-0266-48f6-9cac-4cef4f8b0358 | Open vSwitch agent | network1 | | True | UP | neutron-openvswitch-agent |
| a6c69690-e7f7-4e56-9831-1282753e5007 | Metadata agent | compute1 | | True | UP | neutron-metadata-agent |
| af11f22f-a9f4-404f-9fd8-cd7ad55c0f68 | DHCP agent | compute1 | nova | True | UP | neutron-dhcp-agent |
| bcfc977b-ec0e-4ba9-be62-9489b4b0e6f1 | Open vSwitch agent | compute1 | | True | UP | neutron-openvswitch-agent |
+--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+
Serupa dengan contoh pengerahan self-service, konfigurasi ini mendukung beberapa jaringan self-service VXLAN. Setelah mengaktifkan ketersediaan tinggi, semua router tambahan menggunakan routing terdistribusikan. Prosedur berikut membuat jaringan self-service tambahan dan router. Layanan Networking juga mendukung penambahan routing terdistribusikan untuk router yang ada.
Dapatkan sumber kredensial proyek (non-administratif) biasa.
Buat jaringan self-service.
$ openstack network create selfservice2
+-------------------------+--------------+
| Field | Value |
+-------------------------+--------------+
| admin_state_up | UP |
| mtu | 1450 |
| name | selfservice2 |
| port_security_enabled | True |
| router:external | Internal |
| shared | False |
| status | ACTIVE |
+-------------------------+--------------+
Buat subnet IPv4 pada jaringan self-service.
$ openstack subnet create --subnet-range 192.168.2.0/24 \
--network selfservice2 --dns-nameserver 8.8.4.4 selfservice2-v4
+-------------------+---------------------------+
| Field | Value |
+-------------------+---------------------------+
| allocation_pools | 192.168.2.2-192.168.2.254 |
| cidr | 192.168.2.0/24 |
| dns_nameservers | 8.8.4.4 |
| enable_dhcp | True |
| gateway_ip | 192.168.2.1 |
| ip_version | 4 |
| name | selfservice2-v4 |
+-------------------+---------------------------+
Buat subnet IPv6 pada jaringan self-service.
$ openstack subnet create --subnet-range fd00:192:168:2::/64 --ip-version 6 \
--ipv6-ra-mode slaac --ipv6-address-mode slaac --network selfservice2 \
--dns-nameserver 2001:4860:4860::8844 selfservice2-v6
+-------------------+------------------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------------------+
| allocation_pools | fd00:192:168:2::2-fd00:192:168:2:ffff:ffff:ffff:ffff |
| cidr | fd00:192:168:2::/64 |
| dns_nameservers | 2001:4860:4860::8844 |
| enable_dhcp | True |
| gateway_ip | fd00:192:168:2::1 |
| ip_version | 6 |
| ipv6_address_mode | slaac |
| ipv6_ra_mode | slaac |
| name | selfservice2-v6 |
+-------------------+------------------------------------------------------+
Buat router.
$ openstack router create router2
+-----------------------+---------+
| Field | Value |
+-----------------------+---------+
| admin_state_up | UP |
| name | router2 |
| status | ACTIVE |
+-----------------------+---------+
Tambahkan subnet IPv4 dan IPv6 sebagai interface pada router.
$ openstack router add subnet router2 selfservice2-v4
$ openstack router add subnet router2 selfservice2-v6
Catatan
Perintah ini tidak memberikan output.
Tambahkan jaringan provider sebagai gateway pada router.
$ neutron router-gateway-set router2 provider1
Set gateway for router router2
Dapatkan sumber kredensial proyek administrasi.
Lakukan verifikasi routing terdistribusikan pada router.
$ openstack router show router2
+-------------------------+---------+
| Field | Value |
+-------------------------+---------+
| admin_state_up | UP |
| distributed | True |
| ha | False |
| name | router2 |
| status | ACTIVE |
+-------------------------+---------+
Pada setiap node komputasi, lakukan verifikasi penciptaan namespace qrouter
dengan ID yang sama.
Compute node 1 (node komputasi 1):
# ip netns
qrouter-78d2f628-137c-4f26-a257-25fc20f203c1
Compute node 2 (node komputasi 2):
# ip netns
qrouter-78d2f628-137c-4f26-a257-25fc20f203c1
Pada node jaringan, lakukan verifikasi penciptaan snat
dan namespace qrouter
dengan ID yang sama.
# ip netns
snat-78d2f628-137c-4f26-a257-25fc20f203c1
qrouter-78d2f628-137c-4f26-a257-25fc20f203c1
Catatan
Namespace untuk router 1 dari Open vSwitch: Jaringan self-service juga harus muncul di jaringan node 1 karena penciptaan sebelum mengaktifkan routing terdistribusikan.
Luncurkan instance dengan sebuah antarmuka pada jaringan self-service tambahan. Misalnya, image CirrOS menggunakan flavor ID 1.
$ openstack server create --flavor 1 --image cirros --nic net-id=NETWORK_ID selfservice-instance2
Gantilah NETWORK_ID
dengan ID dari jaringan self-service tambahan
Tentukan alamat IPv4 dan IPv6 instance.
$ openstack server list
+--------------------------------------+-----------------------+--------+---------------------------------------------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-----------------------+--------+---------------------------------------------------------------------------+
| bde64b00-77ae-41b9-b19a-cd8e378d9f8b | selfservice-instance2 | ACTIVE | selfservice2=fd00:192:168:2:f816:3eff:fe71:e93e, 192.168.2.4 |
+--------------------------------------+-----------------------+--------+---------------------------------------------------------------------------+
Buat alamat IPv4 mengambang di jaringan provider.
$ openstack floating ip create provider1
+-------------+--------------------------------------+
| Field | Value |
+-------------+--------------------------------------+
| fixed_ip | None |
| id | 0174056a-fa56-4403-b1ea-b5151a31191f |
| instance_id | None |
| ip | 203.0.113.17 |
| pool | provider1 |
+-------------+--------------------------------------+
Lakukan asosiasi alamat IPv4 mengambang dengan instance.
$ openstack server add floating ip selfservice-instance2 203.0.113.17
Catatan
Perintah ini tidak memberikan output.
Pada node komputasi yang berisi instance, lakukan verifikasi penciptaan namespace fip
dengan ID yang sama dengan jaringan provider.
# ip netns
fip-4bfa3075-b4b2-4f7d-b88e-df1113942d43
Bagian berikut menjelaskan arus lalu lintas jaringan di beberapa skenario umum. Lalu lintas jaringan north-south berjalan antara instance dan jaringan eksternal seperti Internet. Lalu lintas jaringan *east-barat * berjalan antara instance pada jaringan yang sama atau berbeda. Dalam semua skenario, infrastruktur jaringan fisik menangani switching dan routing antara jaringan provider dan jaringan eksternal seperti Internet. Setiap kasus merujuk satu atau lebih dari komponen berikut:
Jaringan operator (VLAN)
Jaringan self-service 1 (VXLAN)
Jaringan self-service 2 (VXLAN)
Gateway jaringan provider
Antarmuka pada jaringan self-service 1
Antarmuka pada jaringan self-service 2
Bagian ini hanya berisi skenario aliran yang menguntungkan dari routing virtual yang didistribusikan atau yang berbeda dari operasi konvensional. Untuk skenario aliran lainnya, lihat Arus lalu lintas jaringan.
Mirip dengan North-south scenario 1: Instance dengan alamat IP tetap, kecuali namespace router pada node jaringan menjadi namespace SNAT. Node jaringan masih mengandung namespace router, tetapi node jaringan ini melayani tanpa tujuan dalam hal ini.
Untuk instance dengan alamat IPv4 mengambang menggunakan jaringan self-service pada router terdistribusikan, komputasi node yang berisi instance melakukan SNAT pada lalu lintas utara-selatan lewat dari instance ke jaringan eksternal seperti Internet dan DNAT di lalu lintas utara-selatan yang lewat dari jaringan eksternal untuk instance. Alamat IP mengambang dan NAT tidak berlaku untuk IPv6. Dengan demikian, node jaringan me-rute lalu lintas IPv6 dalam skenario ini, lalu lintas utara-selatan yang melewati antara instance dan jaringan eksternal seperti Internet.
Instance 1 berada pada compute node 1 dan menggunakan self-service network 1.
Sebuah host di Internet mengirimkan sebuah paket ke instance.
Langkah berikut melibatkan node komputasi:
Infrastruktur jaringan fisik (1) meneruskan paket ke provider physical network interface (2).
Provider physical network interface meneruskan paket ke OVS provider bridge provider network port (3).
OVS provider bridge menukar actual VLAN tag 101 dengan internal VLAN tag.
OVS provider bridge phy-br-provider
port (4) meneruskan paket ke OVS integration bridge int-br-provider
port (5).
OVS integration bridge port untuk provider network (6) menghapus internal VLAN tagdan meneruskan paket ke provider network interface (7) dalam namespace IP mengambang. Interface ini merespon setiap permintaan ARP untuk alamat IPv4 mengambang instance.
Namespace IP mengambang me-rute paket (8) ke distributed router namespace (9) menggunakan sepasang alamat IP pada jaringan internal DVR. Namespace ini berisi alamat IPv4 mengambang instance.
Router melakukan DNAT pada paket yang mengubah alamat IP tujuan ke alamat IP instance di jaringan self-service melalui antarmuka jaringan self-service (10).
Router meneruskan paket ke OVS integration bridge port untuk jaringan self-service (11).
OVS integration bridge menambahkan tag VLAN internal ke paket.
OVS integration bridge menghapus tag VLAN internal dari paket.
OVS integration bridge security group port (12) meneruskan paket ke security group bridge OVS port (13) melalui pasangan veth
.
Security group rules (14) pada security group bridge menangani firewall dan pelacakan koneksi paket.
Security group bridge instance port (15) meneruskan paket ke instance interface (16) melalui pasangan veth
.
Catatan
Egress traffic mengikuti langkah-langkah serupa secara terbalik, kecuali SNAT mengubah alamat IPv4 sumber paket ke alamat IPv4 mengambang.
Instance dengan alamat IPv4/IPv6 tetap atau alamat IPv4 mengambang pada node komputasi yang sama berkomunikasi melalui router pada node komputasi. Instance pada node komputasi yang berbeda berkomunikasi melalui sebuah instance dari router pada setiap node komputasi.
Catatan
Skenario ini menempatkan instance pada node komputasi yang berbeda untuk menunjukkan situasi yang paling kompleks.
Langkah berikut melibatkan komputasi node 1:
Instance interface (1) meneruskan paket ke security group bridge instance port (2) melalui pasangan veth
.
Security group rules (3) pada security group bridge menangani firewall dan pelacakan koneksi paket.
Security group bridge OVS port (4) meneruskan paket ke OVS integration bridge security group port (5) melalui pasangan veth
.
OVS integration bridge menambahkan tag VLAN internal ke paket.
OVS integration bridge port untuk self-service network 1 (6) menghapus internal VLAN tag dan meneruskan paket ke self-service network 1 interface di distributed router namespace (6).
Distributed router namespace me-rute paket ke self-service network 2.
Self-service network 2 interface dalam distributed router namespace (8) meneruskan paket ke OVS integration bridge port pada self-service network 2 (9).
OVS integration bridge menambahkan tag VLAN internal ke paket.
OVS integration bridge menukarkan internal VLAN tag ke internal tunnel ID.
OVS integration bridge patch-tun
port (10) meneruskan paket ke OVS tunnel bridge patch-int
port (11).
OVS tunnel bridge (12) membungkus paket menggunakan VNI 101.
Underlying physical interface (13) untuk overlay network meneruskan paket ke compute node 2 melalui overlay network (14).
Langkah berikut melibatkan komputasi node 2:
underlying physical interface (15) untuk jaringan overlay meneruskan paket ke OVS tunnel bridge (16).
OVS tunnel bridge membuka paket dan menambahkan internal tunnel IDuntuk paket itu.
OVS tunnel bridge menukar internal tunnel ID dengan internal VLAN tag.
OVS tunnel bridge patch-int
patch port (17) meneruskan paket ke OVS integration bridge patch-tun
patch port (18).
OVS integration bridge menghapus tag VLAN internal dari paket.
OVS integration bridge security group port (19) meneruskan paket ke the security group bridge OVS port (20) melalui pasangan veth
.
Security group rules (21) dari security group bridge menangani firewall dan pelacakan koneksi paket.
Security group bridge instance port (22) meneruskan paket ke instance 2 interface (23 melalui pasangan veth
.
Catatan
Routing antara jaringan self-service terjadi pada node komputasi yang berisi instance yang sedang mengirim paket. Dalam skenario ini, routing terjadi pada komputasi node 1 untuk paket dari instance 1 ke instance 2 dan pada komputasi node 2 untuk paket dari instance 2 ke instance 1.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.