تحليل تكلفة خدمة Azure Kubernetes

تعتمد مجموعة Azure Kubernetes Service (AKS) على موارد Azure مثل الأجهزة الظاهرية والأقراص الظاهرية وموازنات التحميل وعناوين IP العامة. يمكن للتطبيقات المتعددة استخدام هذه الموارد، والتي قد يتم الاحتفاظ بها من قبل فرق مختلفة داخل مؤسستك. غالبا ما تكون أنماط استهلاك الموارد لهذه التطبيقات متغيرة، لذلك يمكن أن تختلف مساهمتها في إجمالي تكلفة موارد نظام المجموعة أيضا. يمكن أن يكون لبعض التطبيقات أيضا آثار عبر مجموعات متعددة، والتي يمكن أن تشكل تحديا عند تنفيذ إسناد التكلفة وإدارة التكلفة.

في السابق، كانت إدارة التكلفة من Microsoft (MCM) تجمع استهلاك موارد نظام المجموعة ضمن مجموعة موارد نظام المجموعة. يمكنك استخدام MCM لتحليل التكاليف، ولكن كانت هناك العديد من التحديات:

  • لم تكن هناك إمكانية Azure الأصلية لعرض استخدام موارد نظام المجموعة على مستوى أكثر دقة من نظام المجموعة. لم يكن هناك تقسيم إلى فئات منفصلة مثل الحوسبة (بما في ذلك الذاكرات الأساسية لوحدة المعالجة المركزية والذاكرة) والتخزين والشبكات.

  • لم تكن هناك وظائف Azure الأصلية للتمييز بين أنواع التكاليف، على سبيل المثال بين تكاليف التطبيق الفردية والتكاليف المشتركة. أبلغت MCM عن تكلفة الموارد، ولكن لم تكن هناك نظرة ثاقبة حول مقدار تكلفة الموارد المستخدمة لتشغيل التطبيقات الفردية، أو مقدار ما تم حجزه لعمليات النظام التي تتطلبها المجموعة، أو ما هي التكاليف الخاملة المرتبطة بالمجموعة.

  • لم تكن هناك آلية Azure الأصلية لتحليل التكاليف عبر مجموعات متعددة في نفس نطاق الاشتراك.

ونتيجة لذلك، قد تكون استخدمت حلول الجهات الخارجية لجمع وتحليل استهلاك الموارد والتكاليف حسب مستويات الدقة الخاصة ب Kubernetes، مثل مساحة الاسم أو الجراب. ومع ذلك، تتطلب حلول الجهات الخارجية جهدا لنشر كل مجموعة AKS وضبطها وصيانتها. في بعض الحالات، تحتاج حتى إلى دفع ثمن الميزات المتقدمة، ما يزيد من التكلفة الإجمالية للملكية للمجموعة.

لمواجهة هذا التحدي، دمجت AKS مع MCM لتقديم تكلفة تفصيلية متعمقة في نطاق بنيات Kubernetes، مثل نظام المجموعة ومساحة الاسم، بالإضافة إلى فئات حساب Azure والشبكة والتخزين.

تم إنشاء ملحق تحليل تكلفة AKS أعلى OpenCost، وهو مشروع بيئة الاختبار المعزولة ل Cloud Native Computing Foundation مفتوح المصدر لجمع بيانات الاستخدام. يتم التوفيق بين تحليل التكلفة وبيانات فاتورة Azure. تظهر البيانات التي تمت معالجتها بعد ذلك مباشرة في تجربة مدخل MCM Cost Analysis.

المتطلبات الأساسية والقيود

  • يجب أن تكون مجموعتك إما Standard أو Premium طبقة، وليس الطبقة Free .

  • لعرض معلومات تحليل التكلفة، يجب أن يكون لديك أحد الأدوار التالية على الاشتراك الذي يستضيف نظام المجموعة: المالك أو المساهم أو القارئ أو مساهم إدارة التكلفة أو قارئ إدارة التكلفة.

  • بمجرد تمكين تحليل التكلفة، لا يمكنك تخفيض نظام المجموعة إلى Free المستوى دون تعطيل تحليل التكلفة أولا.

  • يجب نشر نظام المجموعة الخاص بك مع تكوين هوية حمل عمل Microsoft Entra.

  • تتوفر طرق عرض تكلفة Kubernetes فقط أنواع عروض Microsoft Azure التالية. لمزيد من المعلومات حول أنواع العروض، راجع عروض Microsoft Azure المدعومة.

    • اتفاقية Enterprise
    • اتفاقية عملاء Microsoft
  • الوصول إلى واجهة برمجة تطبيقات Azure بما في ذلك Azure Resource Manager (ARM) API. للحصول على قائمة بأسماء المجالات المؤهلة بالكامل (FQDNs) المطلوبة، راجع تحليل تكلفة AKS المطلوب FQDN.

  • العقد الظاهرية غير مدعومة في هذا الوقت.

  • AKS Automatic غير مدعوم في الوقت الحالي.

  • إذا كنت تستخدم Azure CLI، يجب أن يكون لديك إصدار 2.61.0 أو إصدار أحدث مثبت.

تمكين تحليل التكلفة على نظام مجموعة AKS

يمكنك تمكين تحليل التكلفة مع العلامة --enable-cost-analysis أثناء إحدى العمليات التالية:

  • إنشاء نظام مجموعة Standard AKS أو Premium الطبقة.

  • تحديث مجموعة AKS الموجودة بالفعل في Standard أو Premium الطبقة.

  • ترقية نظام مجموعة Free إلى Standard أو Premium.

  • ترقية نظام مجموعة Standard إلى Premium.

  • الرجوع إلى إصدار أعلى من نظام Premium مجموعة إلى Standard مستوى.

ينشئ المثال التالي مجموعة AKS جديدة في Standard الطبقة مع تمكين تحليل التكلفة:

az aks create --resource-group <resource-group> --name <cluster-name> --location <location> --enable-managed-identity --generate-ssh-keys --tier standard --enable-cost-analysis

يحدث المثال التالي مجموعة AKS موجودة في Standard الطبقة لتمكين تحليل التكلفة:

az aks update --resource-group <resource-group> --name <cluster-name> --enable-cost-analysis

تحذير

يعتمد استخدام الذاكرة الإضافية لتحليل تكلفة AKS على عدد الحاويات المنشورة. يمكن تقريب استهلاك الذاكرة تقريبا بمقدار 200 ميغابايت + 0.5 ميغابايت لكل حاوية. يتم تعيين حد الذاكرة الحالي إلى 4 غيغابايت والذي سيدعم ما يقرب من 7000 حاوية لكل نظام مجموعة. ويمكن أن تكون هذه التقديرات أكثر أو أقل اعتمادا على عوامل مختلفة وتخضع للتغيير.

إذا كنت تواجه مشكلات مثل الحصول على OOMKilled جراب الوظيفة الإضافية أو عالقة في Pending حالة ما، فراجع دليل استكشاف أخطاء تحليل تكلفة AKS الإضافي وإصلاحها.

تعطيل تحليل التكلفة

يمكنك تعطيل تحليل التكلفة في أي وقت باستخدام az aks update.

az aks update --name myAKSCluster --resource-group myResourceGroup --disable-cost-analysis

إشعار

إذا كنت تنوي تخفيض نظام المجموعة من Standard المستويات أو Premium إلى Free المستوى أثناء تمكين تحليل التكلفة، يجب أولا تعطيل تحليل التكلفة بشكل صريح.

عرض بيانات التكلفة

يمكنك عرض بيانات تخصيص التكلفة في مدخل Microsoft Azure. لمعرفة المزيد حول كيفية التنقل في طريقة عرض واجهة مستخدم تحليل التكلفة، راجع وثائق Cost Management.

تعريفات التكلفة

في مساحات أسماء Kubernetes وطرق عرض الأصول، سترى الرسوم التالية:

  • رسوم الخمول: تمثل تكلفة سعة الموارد المتوفرة التي لم تستخدمها أي أحمال عمل.
  • رسوم الخدمة: تمثل الرسوم المرتبطة بالخدمة مثل اتفاقية مستوى الخدمة في وقت التشغيل وMicrosoft Defender for Containers وما إلى ذلك.
  • رسوم النظام: تمثل تكلفة السعة المحجوزة بواسطة AKS على كل عقدة لتشغيل عمليات النظام التي تتطلبها المجموعة، بما في ذلك kubelet ووقت تشغيل الحاوية. اعرف المزيد.
  • الرسوم غير المخصصة: تمثل تكلفة الموارد التي تعذر تخصيصها لمساحات الأسماء.

إشعار

قد يستغرق إنهاء البيانات ما يصل إلى يوم واحد. وبعد مرور 24 ساعة، ستستقر أي تقلبات في تكاليف اليوم السابق.

استكشاف الأخطاء وإصلاحها

راجع الدليل التالي لاستكشاف مشكلات الوظيفة الإضافية لتحليل تكلفة AKS وإصلاحها.

معرفة المزيد

الرؤية هي أحد عناصر إدارة التكلفة. راجع تحسين التكاليف في خدمة Azure Kubernetes (AKS) للحصول على أفضل الممارسات الأخرى حول كيفية التحكم في تكلفة kubernetes الخاصة بك.