Istio عبارة عن شبكة خدمة مفتوحة المصدر يتم وضعها بشفافية على التطبيقات الموزعة الموجودة. توفر ميزات Istio القوية طريقة موحدة وأكثر كفاءة لتأمين الخدمات وتوصيلها ومراقبتها. Istio هو المسار لموازنة التحميل، والمصادقة من خدمة إلى خدمة، والمراقبة - مع تغييرات قليلة أو معدومة في رمز الخدمة.
للحصول على معلومات متعمقة حول كيفية استخدام Istio، قم بزيارة istio.io
لطرح الأسئلة والحصول على المساعدة من مجتمعنا، قم بزيارة مناقشات Github
لمعرفة كيفية المشاركة في مجتمعنا العام، قم بزيارة صفحة مجتمعنا
في هذا الملف التمهيدي:
مقدمة
المستودعات
إدارة القضايا
بالإضافة إلى ذلك، إليك بعض المستندات الأخرى التي قد ترغب في قراءتها:
مجتمع Istio - يصف كيفية المشاركة والمساهمة في مشروع Istio
دليل مطور Istio - يشرح كيفية إعداد واستخدام بيئة تطوير Istio
اتفاقيات المشروع - تصف الاتفاقيات التي نستخدمها داخل قاعدة التعليمات البرمجية
إنشاء تعليمات برمجية سريعة وبسيطة - نصائح وإرشادات موجهة نحو الأداء لقاعدة التعليمات البرمجية
ستجد العديد من الوثائق المفيدة الأخرى على موقعنا ويكي.
Istio عبارة عن منصة مفتوحة لتوفير طريقة موحدة لدمج الخدمات الصغيرة وإدارة تدفق حركة المرور عبر الخدمات الصغيرة وفرض السياسات وتجميع بيانات القياس عن بعد. يوفر مستوى التحكم الخاص بـ Istio طبقة تجريد فوق منصة إدارة المجموعة الأساسية، مثل Kubernetes.
يتكون Istio من هذه المكونات:
Envoy - وكلاء Sidecar لكل خدمة صغيرة للتعامل مع حركة الدخول/الخروج بين الخدمات في المجموعة ومن الخدمة إلى الخدمات الخارجية. تشكل الوكلاء شبكة خدمات صغيرة آمنة توفر مجموعة غنية من الوظائف مثل الاكتشاف والتوجيه الغني للطبقة 7 وقواطع الدائرة وإنفاذ السياسات ووظائف التسجيل/الإبلاغ عن القياس عن بعد.
ملحوظة: شبكة الخدمة ليست شبكة متراكبة. فهو يبسط ويعزز كيفية تواصل الخدمات الصغيرة في التطبيق مع بعضها البعض عبر الشبكة التي يوفرها النظام الأساسي.
Istiod - طائرة التحكم Istio. ويوفر اكتشاف الخدمة والتكوين وإدارة الشهادات. ويتكون من المكونات الفرعية التالية:
الطيار - مسؤول عن تكوين الوكلاء في وقت التشغيل.
القلعة - المسؤول عن إصدار الشهادات وتدويرها.
Galley - مسؤول عن التحقق من صحة التكوين واستيعابه وتجميعه وتحويله وتوزيعه داخل Istio.
المشغل - يوفر المكون خيارات سهلة الاستخدام لتشغيل شبكة خدمة Istio.
ينقسم مشروع Istio عبر عدد قليل من مستودعات GitHub:
istio/api. يحدد هذا المستودع واجهات برمجة التطبيقات على مستوى المكونات وتنسيقات التكوين الشائعة لمنصة Istio.
الاسم / المجتمع. يحتوي هذا المستودع على معلومات حول مجتمع Istio، بما في ذلك المستندات المختلفة التي تحكم مشروع Istio مفتوح المصدر.
istio/istio. هذا هو مستودع الكود الرئيسي. وهو يستضيف المكونات الأساسية لـ Istio، ويثبت العناصر، ونماذج البرامج. ويشمل:
istioctl. يحتوي هذا الدليل على تعليمات برمجية للأداة المساعدة لسطر الأوامر istioctl .
طيار. يحتوي هذا الدليل على تعليمات برمجية خاصة بالنظام الأساسي لملء نموذج الخدمة المجردة، وإعادة تكوين الوكلاء ديناميكيًا عندما تتغير هيكلية التطبيق، بالإضافة إلى ترجمة قواعد التوجيه إلى تكوين خاص بالوكيل.
حماية. يحتوي هذا الدليل على التعليمات البرمجية ذات الصلة بالأمان، بما في ذلك Citadel (التي تعمل كمرجع مصدق)، ووكيل Citadel، وما إلى ذلك.
istio/proxy. يحتوي وكيل Istio على امتدادات لوكيل Envoy (في شكل مرشحات Envoy) التي تدعم المصادقة والترخيص وجمع القياس عن بعد.
istio/ztunnel. يحتوي المستودع على تطبيق Rust لمكون ztunnel الخاص بالشبكة المحيطة.
istio/client-go. يحدد هذا المستودع عملاء Kubernetes الذين تم إنشاؤهم تلقائيًا للتفاعل مع موارد Istio برمجيًا.
ملحوظة
تعرض مستودعات istio/api
و istio/client-go
فقط واجهات مستقرة مخصصة للاستخدام المباشر كمكتبات.
نحن نستخدم GitHub لتتبع جميع الأخطاء وطلبات الميزات. تحتوي كل مشكلة نتتبعها على مجموعة متنوعة من البيانات الوصفية:
ملحمي . تمثل الملحمة منطقة مميزة لـ Istio ككل. الملاحم واسعة النطاق إلى حد ما وهي في الأساس أشياء على مستوى المنتج. كل قضية هي في نهاية المطاف جزء من ملحمة.
منعطف . يتم تعيين معلم رئيسي لكل قضية. هذا هو 0.1، 0.2، ...، أو "المستقبل الغامض". يشير هذا الحدث المهم إلى الوقت الذي نعتقد أنه يجب معالجة المشكلة فيه.
أولوية . لكل مشكلة أولوية يمثلها العمود الموجود في مشروع تحديد الأولويات. يمكن أن تكون الأولوية واحدة من P0 أو P1 أو P2 أو >P2. تشير الأولوية إلى مدى أهمية معالجة المشكلة خلال الحدث الرئيسي. يقول P0 أنه لا يمكن اعتبار الحدث الرئيسي قد تم تحقيقه إذا لم يتم حل المشكلة.
Istio هو مشروع تابع لمؤسسة Cloud Native Computing Foundation.