[ English | русский | français | Deutsch | Indonesia | English (United Kingdom) | 한국어 (대한민국) | español ]

Jaringan kontainer

OpenStack-Ansible menyebarkan Linux container (LXC) dan menggunakan Linux menjembatani antara kontainer dan host interfacet untuk memastikan bahwa semua lalu lintas dari kontainer mengalir melalui beberapa host interface. Lampiran ini menjelaskan bagaimana interface terhubung dan bagaimana arus lalu lintas mengalir.

Untuk informasi lebih lanjut tentang bagaimana layanan OpenStack Networking (neutron) menggunakan interfaces untuk lalu lintas instance, silakan lihat OpenStack Networking Guide.

Untuk detail tentang konfigurasi jaringan untuk lingkungan Anda, silakan lihat referensi pengaturan openstack_user_config.

Antarmuka host fisik

Dalam lingkungan produksi yang khas, antarmuka jaringan fisik digabungkan dalam pasangan terikat (bonded pair) untuk redundansi dan keluaran (throughput) yang lebih baik. Hindari menggunakan dua port pada kartu jaringan multiport yang sama untuk antarmuka berikat yang sama, karena kegagalan kartu jaringan mempengaruhi kedua antarmuka jaringan fisik yang digunakan oleh ikatan.

Linux bridges (Jembatan Linux)

Kombinasi kontainer dan opsi penerapan fleksibel memerlukan implementasi fitur jaringan Linux yang canggih, seperti jembatan dan ruang nama (bridge and namespace)

  • Bridge menyediakan konektivitas layer 2 (serupa dengan switch) di antara fisik, logis, dan antarmuka jaringan virtual dalam host. Setelah bridge dibuat, antarmuka jaringan tersambung ke sana secara virtual.

    OpenStack-Ansible menggunakan bridge untuk menghubungkan antarmuka jaringan fisik dan logis pada host ke antarmuka jaringan virtual dalam kontainer.

  • Namespace menyediakan lingkungan layer 3 yang secara logis terpisah (mirip dengan router) dalam sebuah host. Namespace menggunakan antarmuka virtual untuk terhubung dengan namespace lain, termasuk host namespace. Antarmuka ini, sering disebut pasangan veth, secara virtual dipasang di antara beberapa namespace yang mirip dengan kabel patch yang menghubungkan perangkat fisik seperti switch dan router.

    Setiap kontainer memiliki namespace yang terhubung ke host namespace dengan satu atau lebih pasangan veth ``. Kecuali ditentukan, sistem menghasilkan nama acak untuk pasangan ``veth.

Image berikut menunjukkan bagaimana antarmuka jaringan kontainer terhubung ke jembatan host (host's bridge) dan antarmuka jaringan fisik:

../../_images/networkcomponents.png

Diagram jaringan

Menghosting dengan layanan yang berjalan dalam kontainer

Diagram berikut menunjukkan bagaimana semua antarmuka dan jembatan saling terhubung untuk menyediakan konektivitas jaringan ke penyebaran OpenStack:

../../_images/networkarch-container-external.png

Antarmuka lxcbr0 menyediakan konektivitas untuk kontainer ke dunia luar, berkat dnsmasq (dhcp / dns) + NAT.

Catatan

Jika Anda memerlukan konfigurasi jaringan tambahan untuk antarmuka kontainer Anda (seperti mengubah rute pada eth1 untuk rute di jaringan manajemen), silakan sesuaikan file openstack_user_config.yml Anda. Lihat referensi pengaturan openstack_user_config untuk keterangan lebih lanjut.

Layanan berjalan "on metal" (menyebar langsung di host fisik)

OpenStack-Ansible menyebarkan layanan Compute pada host fisik daripada dalam sebuah kontainer. Diagram berikut menunjukkan cara menggunakan jembatan (bridge) untuk konektivitas jaringan:

../../_images/networkarch-bare-external.png

Lalu lintas Neutron

Diagram berikut menunjukkan bagaimana layanan Networking (neutron) bekerja dengan jembatan br-vlan dan br-vxlan. Neutron dikonfigurasi untuk menggunakan agen DHCP, agen L3, dan agen Linux Bridge dalam kontainer networking-agent. Diagram menunjukkan bagaimana agen DHCP memberikan informasi (alamat IP dan server DNS) ke instance, dan bagaimana routing bekerja pada image.

../../_images/networking-neutronagents.png

Diagram berikut menunjukkan bagaimana mesin virtual terhubung ke jembatan br-vlan dan br-vxlan dan mengirim lalu lintas ke jaringan di luar host:

../../_images/networking-compute.png

Ketika agen Neutron digunakan "on metal" pada node jaringan atau node infra/network yang collapsed, container Neutron Agents dan masing-masing antarmuka virtual tidak lagi diimplementasikan. Selain itu, penggunaan override host_bind_override ketika mendefinisikan jaringan penyedia memungkinkan Neutron untuk berinteraksi langsung dengan antarmuka fisik atau mengikat jembatan br-vlan sebagai gantinya. Diagram berikut mencerminkan perbedaan dalam tata letak jaringan virtual.

../../_images/networking-neutronagents-nobridge.png

Tidak adanya br-vlan di jalur lalu lintas instance juga tercermin pada node komputasi, seperti yang ditunjukkan pada diagram berikut.

../../_images/networking-compute-nobridge.png