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

في هذه المقالة، ستتعلم كيفية تمكين تحليل التكلفة على خدمة Azure Kubernetes (AKS) لعرض بيانات التكلفة التفصيلية لموارد نظام المجموعة.

حول تحليل التكلفة

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

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

لمزيد من المعلومات حول إدارة التكلفة من Microsoft، راجع بدء تحليل التكاليف في Azure.

بعد تمكين الوظيفة الإضافية لتحليل التكلفة والسماح بمرور الوقت لتجميع البيانات، يمكنك استخدام المعلومات في فهم استخدام AKS والتكاليف لمساعدتك على فهم بياناتك.

Prerequisites

  • يجب أن تستخدم StandardPremium المجموعة الخاصة بك أو الطبقة، وليس Free الطبقة.
  • لعرض معلومات تحليل التكلفة، يجب أن يكون لديك أحد الأدوار التالية على الاشتراك الذي يستضيف نظام المجموعة: Ownerأو ContributorReaderCost Management Contributor.Cost Management Reader
  • الهوية المدارة التي تم تكوينها على نظام المجموعة الخاص بك.
  • إذا كنت تستخدم Azure CLI، فأنت بحاجة إلى إصدار 2.61.0 أو تثبيت أحدث.
  • بمجرد تمكين تحليل التكلفة، لا يمكنك تخفيض نظام المجموعة إلى Free المستوى دون تعطيل تحليل التكلفة أولا.
  • الوصول إلى واجهة برمجة تطبيقات Azure بما في ذلك Azure Resource Manager (ARM) API. للحصول على قائمة بأسماء المجالات المؤهلة بالكامل (FQDNs) المطلوبة، راجع تحليل تكلفة AKS المطلوب FQDN.

Limitations

  • تتوفر طرق عرض تكلفة Kubernetes فقط لأنواع عروض اتفاقية المؤسسةواتفاقية عملاء Microsoft Microsoft Azure. لمزيد من المعلومات، راجع عروض Microsoft Azure المدعومة.
  • حاليا، العقد الظاهرية غير مدعومة.
  • يدعم إضافة تحليل التكلفة AKS حوالي 7,000 حاوية لكل مجموعة، بناء على حد الذاكرة الحالي 4 جيجابايت وقابلة للتغيير.

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

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

  • إنشاء نظام مجموعة Standard AKS أو Premium الطبقة.
  • تحديث مجموعة AKS موجودة Standard أو Premium طبقة.
  • ترقية نظام مجموعة Free إلى Standard أو Premium.
  • ترقية نظام مجموعة Standard إلى Premium.
  • تخفيض نظام مجموعة Premium إلى Standard مستوى.

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

تمكين تحليل التكلفة على نظام مجموعة جديد باستخدام az aks create الأمر مع العلامة --enable-cost-analysis . ينشئ المثال التالي مجموعة AKS جديدة في Standard الطبقة مع تمكين تحليل التكلفة:

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="AKSCostRG$RANDOM_SUFFIX"
export CLUSTER_NAME="AKSCostCluster$RANDOM_SUFFIX"
export LOCATION="WestUS2"
az group create --resource-group $RESOURCE_GROUP --location $LOCATION
az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --location $LOCATION --enable-managed-identity --generate-ssh-keys --tier standard --enable-cost-analysis

Results:

{
    "id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx",
    "location": "WestUS2",
    "name": "AKSCostClusterxxxx",
    "properties": {
        "provisioningState": "Succeeded"
    },
    "tags": null,
    "type": "Microsoft.ContainerService/managedClusters"
}

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

تمكين تحليل التكلفة على نظام مجموعة موجود باستخدام az aks update الأمر مع العلامة --enable-cost-analysis . يحدث المثال التالي مجموعة AKS موجودة في Standard الطبقة لتمكين تحليل التكلفة:

az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-cost-analysis

Results:

{
    "id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx",
    "name": "AKSCostClusterxxxx",
    "properties": {
        "provisioningState": "Succeeded"
    }
}

Note

يتم نشر عامل إلى نظام المجموعة عند تمكين الوظيفة الإضافية. يستهلك العامل كمية صغيرة من موارد وحدة المعالجة المركزية والذاكرة.

Warning

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

Note

يؤدي تمكين تحليل التكلفة أيضا إلى إنشاء هوية مدارة مسماة cost-analysis-identity مع حق الوصول للقراءة إلى مجموعة موارد عقدة نظام المجموعة، وتعيينها لتجمعات العقد في نظام المجموعة. يتم استخدام هذا لجمع معرفات ARM لأصول نظام المجموعة لإعداد التقارير.

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

على سبيل المثال، az login --identity --resource-id <resource ID of identity>

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

تعطيل تحليل التكلفة باستخدام az aks update الأمر مع العلامة --disable-cost-analysis .

az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --disable-cost-analysis

Results:

{
    "id": "/subscriptions/xxxxx/resourceGroups/AKSCostRGxxxx",
    "name": "AKSCostClusterxxxx",
    "properties": {
        "provisioningState": "Succeeded"
    }
}

Note

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

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

يمكنك عرض بيانات تخصيص التكلفة في مدخل Microsoft Azure. لمزيد من المعلومات، راجع عرض تكاليف AKS في Microsoft Cost Management.

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

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

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

Note

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

Troubleshooting

إذا كنت تواجه مشكلات، مثل cost-agent توقف النظام أو توقفه في OOMKilled حالة ما، فراجع Pending.

الخطوات التالية

لمزيد من المعلومات حول التكلفة في AKS، راجع فهم استخدام وتكاليف خدمة Azure Kubernetes (AKS).