خطوات الاستخدام
الخطوة 1: فهم مفهوم الحمل الإضافي لـ Istio Sidecar. عند استخدام Istio في خدمة ميش (Service Mesh) يتم إضافة بروكسي sidecar إلى كل بود (Pod). هذا البروكسي يستهلك موارد إضافية من وحدة المعالجة المركزية (CPU) والذاكرة (Memory). الحمل الإضافي هو إجمالي الموارد التي تستهلكها جميع الـ sidecars في الكتلة (Cluster). معرفة هذا الحمل يساعد في تخطيط السعة وتقدير التكاليف.
الخطوة 2: أدخل عدد البودات (Pods) في حقل 'عدد البودات'. هذا هو العدد الإجمالي للـ pods التي تعمل في الكتلة وتحتوي على sidecar من Istio. كل بود يحتوي عادةً على sidecar واحد.
الخطوة 3: أدخل متوسط استهلاك وحدة المعالجة المركزية لكل sidecar (avgSidecarCpu) بوحدة النواة (Core) أو الميللي نواة (millicores). مثلاً، 0.1 نواة أو 100 ميللي نواة. يمكن الحصول على هذه القيمة من أدوات المراقبة مثل Prometheus أو Kiali.
الخطوة 4: أدخل متوسط استهلاك الذاكرة لكل sidecar (avgSidecarMem) بوحدة الميغابايت (MB). غالباً ما يتراوح بين 40 إلى 128 ميغابايت حسب التهيئة.
الخطوة 5: تقوم الحاسبة بضرب عدد البودات في متوسط الموارد لكل sidecar للحصول على إجمالي الحمل الإضافي لوحدة المعالجة المركزية والذاكرة. الناتج يمثل الموارد الإضافية التي تستهلكها البنية التحتية لـ Istio، مما يساعد في تقدير التكاليف الشهرية على السحابة أو تحسين حجم الكتلة.
أمثلة محلولة
تطبيقات عملية على الحمل الإضافي لـ Istio Sidecar بخطوات الحل كاملة.
الحل
لحساب الحمل الإضافي الكلي، نستخدم المعادلة: إجمالي CPU = عدد البودات × متوسط CPU لكل sidecar = 100 × 0.2 = 20 نواة. إجمالي الذاكرة = عدد البودات × متوسط الذاكرة لكل sidecar = 100 × 128 = 12,800 ميغابايت (أي 12.8 جيجابايت). هذا يعني أن الـ sidecars تستهلك 20 نواة من وحدة المعالجة المركزية و 12.8 جيجابايت من الذاكرة إضافية إلى موارد التطبيقات. في السحابة، إذا كان سعر النواة مثلاً 30 دولار شهرياً وسعر الجيجابايت 5 دولار، تكون التكلفة الإضافية = (20×30) + (12.8×5) = 600 + 64 = 664 دولار شهرياً. هذا يساعد في تبرير جدوى استخدام Istio أو البحث عن تحسينات.
الحل
إجمالي CPU = 500 × 0.15 = 75 نواة. إجمالي الذاكرة = 500 × 80 = 40,000 ميغابايت (40 جيجابايت). إذا كانت التطبيقات نفسها تستهلك 200 نواة و 400 جيجابايت، فإن الـ sidecars تضيف 37.5% زيادة في CPU و 10% في الذاكرة. يمكنك استخدام هذه الأرقام لتقرير ما إذا كانت فوائد Istio (مثل الأمان، المراقبة، التحكم في التوجيه) تستحق هذه التكلفة الإضافية. في حال كانت القيم مرتفعة، يمكن تحسينها بتعديل موارد الـ sidecar في Istio أو استخدام تقنيات مثل Sidecar injection selectively.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة الحمل الإضافي لـ Istio Sidecar.
أوراكل — 100 بود بـ0.2 نواة و128 ميجابايت (مثال 1)
- عدد البودات
- 100
- متوسط CPU للـ Sidecar (نواة)
- 0.2
- متوسط ذاكرة الـ Sidecar (ميجابايت)
- 128
- عدد البودات
- 100
- متوسط CPU لكل sidecar (نواة)
- 0.2
- إجمالي استهلاك CPU (أنوية)
- 20
- إجمالي الذاكرة (ميجابايت)
- 12,800
- إجمالي الذاكرة (جيجابايت)
- 12.8
أوراكل — 500 بود بـ0.15 نواة و80 ميجابايت (مثال 2)
- عدد البودات
- 500
- متوسط CPU للـ Sidecar (نواة)
- 0.15
- متوسط ذاكرة الـ Sidecar (ميجابايت)
- 80
- إجمالي استهلاك CPU (أنوية)
- 75
- إجمالي الذاكرة (ميجابايت)
- 40,000
- إجمالي الذاكرة (جيجابايت)
- 40
حدّ — كتلة بلا بودات: صفر حمل لا قيم سالبة أو نان
- عدد البودات
- 0
- متوسط CPU للـ Sidecar (نواة)
- 0.1
- متوسط ذاكرة الـ Sidecar (ميجابايت)
- 128
- إجمالي استهلاك CPU (أنوية)
- 0
- إجمالي الذاكرة (ميجابايت)
- 0
- إجمالي الذاكرة (جيجابايت)
- 0
أوراكل — بود واحد (لا تضخيم من جمع الوحدتين)
- عدد البودات
- 1
- متوسط CPU للـ Sidecar (نواة)
- 0.5
- متوسط ذاكرة الـ Sidecar (ميجابايت)
- 64
- إجمالي استهلاك CPU (أنوية)
- 0.5
- إجمالي الذاكرة (ميجابايت)
- 64
- إجمالي الذاكرة (جيجابايت)
- 0.06
أوراكل — 250 بود بأقل ذاكرة موثّقة
- عدد البودات
- 250
- متوسط CPU للـ Sidecar (نواة)
- 0.1
- متوسط ذاكرة الـ Sidecar (ميجابايت)
- 40
- إجمالي استهلاك CPU (أنوية)
- 25
- إجمالي الذاكرة (ميجابايت)
- 10,000
- إجمالي الذاكرة (جيجابايت)
- 10
حدّ أقصى معلن — سقف البودات لا يُتجاوز صامتًا
- عدد البودات
- 100,000
- متوسط CPU للـ Sidecar (نواة)
- 1
- متوسط ذاكرة الـ Sidecar (ميجابايت)
- 128
- إجمالي الذاكرة (ميجابايت)
- 12,800,000
- إجمالي الذاكرة (جيجابايت)
- 12,800