GNU/Linux >> Belajar Linux >  >> Linux

Tinjauan singkat tentang Antarmuka Jaringan Kontainer (CNI) di Kubernetes

Jika Anda telah bekerja dengan Kubernetes (K8s) dan mencoba mempelajari beberapa cara kerja bagian dalamnya, baik dalam pekerjaan atau dalam kursus pelatihan, Anda pasti telah belajar sedikit tentang Container Network Interface (CNI). Artikel ini menjelaskan arti dan fungsi CNI.

Apa itu CNI?

Plugin CNI bertanggung jawab untuk memasukkan antarmuka jaringan ke dalam ruang nama jaringan wadah (misalnya, salah satu ujung pasangan ethernet virtual (veth)) dan membuat perubahan yang diperlukan pada host (misalnya, melampirkan ujung lain dari veth ke jembatan ). Kemudian memberikan alamat IP ke antarmuka dan mengatur rute yang konsisten dengan bagian Manajemen Alamat IP dengan menerapkan plugin Manajemen Alamat IP (IPAM) yang sesuai.

[ Anda mungkin juga menyukai: Panduan sysadmin untuk komponen dasar Kubernetes ]

Di mana CNI cocok?

CNI digunakan oleh runtime container, seperti Kubernetes (seperti yang ditunjukkan di bawah), serta Podman, CRI-O, Mesos, dan lainnya.

Wadah/pod awalnya tidak memiliki antarmuka jaringan. Runtime container memanggil plugin CNI dengan kata kerja seperti ADD , DEL , PERIKSA , dll. ADD membuat antarmuka jaringan baru untuk penampung, dan detail apa yang akan ditambahkan diteruskan ke CNI melalui muatan JSON.

Terdiri dari apa proyek CNI?

  1. Spesifikasi CNI - Mendokumentasikan format konfigurasi saat Anda memanggil plugin CNI, apa yang harus dilakukan dengan informasi tersebut, dan hasil yang akan ditampilkan plugin.
  2. Set referensi dan plugin contoh - Ini dapat membantu Anda memahami cara menulis plugin baru atau cara kerja plugin yang ada. Mereka adalah cloud-agnostic. Ini adalah plugin dengan fungsionalitas terbatas dan hanya untuk referensi.

Spesifikasi CNI

  • Spesifikasi netral vendor
  • Digunakan oleh Mesos, CloudFoundry, Podman, CRI-O
  • Menentukan alur eksekusi dasar dan format konfigurasi
  • Berusaha untuk menjaga semuanya tetap sederhana dan kompatibel dengan versi sebelumnya

Alur eksekusi plugin CNI

  1. Saat container runtime mengharapkan untuk melakukan operasi jaringan pada container, ia (seperti kubelet dalam kasus K8s) memanggil plugin CNI dengan perintah yang diinginkan.
  2. Waktu proses container juga menyediakan konfigurasi jaringan terkait dan data khusus container ke plugin.
  3. Plugin CNI melakukan operasi yang diperlukan dan melaporkan hasilnya.

CNI dipanggil dua kali oleh K8 (kubelet) untuk menyiapkan loopback dan eth0 antarmuka untuk pod.

Catatan :Plugin CNI dapat dieksekusi dan mendukung perintah ADD, DEL, CHECK, VERSION, seperti yang dibahas di atas.

Mengapa ada banyak plugin?

CNI menyediakan spesifikasi untuk berbagai plugin. Dan seperti yang Anda ketahui, jaringan adalah topik yang kompleks dengan berbagai kebutuhan pengguna. Oleh karena itu, ada beberapa plugin CNI yang melakukan berbagai hal secara berbeda untuk memenuhi berbagai kasus penggunaan.

[ Pelajari dasar-dasar penggunaan Kubernetes di lembar contekan gratis ini. ] 

Menutup

Ada banyak aspek orkestrasi dan manajemen container dengan Kubernetes. Anda baru saja belajar sedikit tentang penggunaan CNI untuk jaringan dalam Kubernetes. Untuk lebih lanjut, lihat halaman proyek CNI di GitHub.


Linux
  1. Bagaimana Cara Memulai Ulang Antarmuka Jaringan?

  2. Tambahkan antarmuka Jaringan Cloud ke Server Cloud

  3. Memahami file konfigurasi antarmuka Jaringan /etc/sysconfig/network-scripts/ifcfg-eth#

  1. Ubuntu mengaktifkan dan menonaktifkan antarmuka jaringan

  2. Tentukan apakah antarmuka jaringan nirkabel atau kabel

  3. Memulai sebuah shell di wadah Docker Alpine

  1. Apakah Anda mengizinkan protokol X di jaringan Anda?

  2. Temukan Komputer Di Jaringan Lan?

  3. Ifconfig:7 Contoh Konfigurasi Antarmuka Jaringan