Istio adalah mesh layanan sumber terbuka yang berlapis secara transparan ke dalam aplikasi terdistribusi yang ada. Fitur canggih Istio menyediakan cara yang seragam dan lebih efisien untuk mengamankan, menghubungkan, dan memantau layanan. Istio adalah jalur menuju penyeimbangan beban, autentikasi layanan-ke-layanan, dan pemantauan – dengan sedikit atau tanpa perubahan kode layanan.
Untuk informasi mendalam tentang cara menggunakan Istio, kunjungi istio.io
Untuk mengajukan pertanyaan dan mendapatkan bantuan dari komunitas kami, kunjungi Diskusi Github
Untuk mempelajari cara berpartisipasi dalam komunitas kami secara keseluruhan, kunjungi halaman komunitas kami
Dalam README ini:
Perkenalan
Repositori
Manajemen masalah
Selain itu, berikut beberapa dokumen lain yang mungkin ingin Anda baca:
Komunitas Istio - menjelaskan cara terlibat dan berkontribusi pada proyek Istio
Panduan Pengembang Istio - menjelaskan cara menyiapkan dan menggunakan lingkungan pengembangan Istio
Konvensi Proyek - menjelaskan konvensi yang kami gunakan dalam basis kode
Membuat Kode Cepat dan Ramping - saran dan pedoman berorientasi kinerja untuk basis kode
Anda akan menemukan banyak dokumen berguna lainnya di Wiki kami.
Istio adalah platform terbuka untuk menyediakan cara seragam untuk mengintegrasikan layanan mikro, mengelola arus lalu lintas di seluruh layanan mikro, menegakkan kebijakan, dan mengumpulkan data telemetri. Bidang kendali Istio menyediakan lapisan abstraksi pada platform manajemen klaster yang mendasarinya, seperti Kubernetes.
Istio terdiri dari komponen-komponen berikut:
Utusan - Proksi sidecar per layanan mikro untuk menangani lalu lintas masuk/keluar antar layanan dalam klaster dan dari layanan ke layanan eksternal. Proxy membentuk mesh layanan mikro aman yang menyediakan serangkaian fungsi seperti penemuan, perutean lapisan-7 yang kaya, pemutus sirkuit, penegakan kebijakan, dan fungsi perekaman/pelaporan telemetri.
Catatan: Jaring layanan bukan jaringan overlay. Ini menyederhanakan dan meningkatkan cara layanan mikro dalam suatu aplikasi berkomunikasi satu sama lain melalui jaringan yang disediakan oleh platform yang mendasarinya.
Istiod - Pesawat kendali Istio. Ini menyediakan penemuan layanan, konfigurasi dan manajemen sertifikat. Ini terdiri dari sub-komponen berikut:
Pilot - Bertanggung jawab untuk mengkonfigurasi proxy saat runtime.
Citadel - Bertanggung jawab atas penerbitan dan rotasi sertifikat.
Galley - Bertanggung jawab untuk memvalidasi, menyerap, menggabungkan, mengubah, dan mendistribusikan konfigurasi dalam Istio.
Operator - Komponen menyediakan opsi ramah pengguna untuk mengoperasikan mesh layanan Istio.
Proyek Istio dibagi menjadi beberapa repositori GitHub:
istio/api. Repositori ini mendefinisikan API tingkat komponen dan format konfigurasi umum untuk platform Istio.
istio/komunitas. Repositori ini berisi informasi tentang komunitas Istio, termasuk berbagai dokumen yang mengatur proyek open source Istio.
istio/istio. Ini adalah gudang kode utama. Ini menampung komponen inti Istio, menginstal artefak, dan program sampel. Ini termasuk:
istioctl. Direktori ini berisi kode untuk utilitas baris perintah istioctl .
pilot. Direktori ini berisi kode khusus platform untuk mengisi model layanan abstrak, mengkonfigurasi ulang proxy secara dinamis ketika topologi aplikasi berubah, serta menerjemahkan aturan perutean ke dalam konfigurasi khusus proxy.
keamanan. Direktori ini berisi kode terkait keamanan, termasuk Citadel (bertindak sebagai Otoritas Sertifikat), agen benteng, dll.
istio/proksi. Proxy Istio berisi ekstensi ke proxy Envoy (dalam bentuk filter Envoy) yang mendukung otentikasi, otorisasi, dan pengumpulan telemetri.
istio/ztunnel. Repositori berisi implementasi Rust dari komponen ztunnel dari Ambient mesh.
istio/klien-pergi. Repositori ini mendefinisikan klien Kubernetes yang dibuat secara otomatis untuk berinteraksi dengan sumber daya Istio secara terprogram.
Catatan
Hanya repositori istio/api
dan istio/client-go
yang mengekspos antarmuka stabil yang dimaksudkan untuk penggunaan langsung sebagai perpustakaan.
Kami menggunakan GitHub untuk melacak semua bug dan permintaan fitur kami. Setiap masalah yang kami lacak memiliki beragam metadata:
Epik . Sebuah epik mewakili area fitur Istio secara keseluruhan. Epik memiliki cakupan yang cukup luas dan pada dasarnya merupakan hal tingkat produk. Setiap terbitan pada akhirnya merupakan bagian dari sebuah epik.
Tonggak pencapaian . Setiap masalah diberi sebuah tonggak sejarah. Ini adalah 0,1, 0,2, ..., atau 'Masa Depan Nebula'. Pencapaian ini menunjukkan kapan menurut kami masalah ini harus diatasi.
Prioritas . Setiap permasalahan mempunyai prioritas yang diwakili oleh kolom pada proyek Prioritas. Prioritas dapat berupa salah satu dari P0, P1, P2, atau >P2. Prioritas menunjukkan betapa pentingnya mengatasi masalah dalam pencapaian tersebut. P0 mengatakan bahwa pencapaian tersebut tidak dapat dianggap tercapai jika masalahnya tidak diselesaikan.
Istio adalah proyek Cloud Native Computing Foundation.