إعداد إمكانية مراقبة الشبكة لخدمة Azure Kubernetes (AKS) - BYO Prometheus وGrafana

يتم استخدام إمكانية مراقبة شبكة AKS لجمع بيانات نسبة استخدام الشبكة لمجموعة AKS الخاصة بك. تتيح إمكانية مراقبة الشبكة نظاما أساسيا مركزيا لمراقبة التطبيق وصحة الشبكة. يجمع Prometheus مقاييس مراقبة شبكة AKS، وGrafana تصورها. يتم دعم كل من وحدة بيانات Cilium وغير Cilium. في هذه المقالة، تعرف على كيفية تمكين الوظيفة الإضافية Network Observability واستخدام BYO Prometheus وGrafana لتصور المقاييس التي تم استخراجها.

إشعار

بدءا من الإصدار 1.29 من Kubernetes، لم تعد ميزة مراقبة الشبكة تدعم Bring Your Own (BYO) Prometheus وGrafana. ومع ذلك، لا يزال بإمكانك تمكينه باستخدام عرض Azure Managed Prometheus وGrafana

هام

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

لمزيد من المعلومات حول إمكانية مراقبة شبكة AKS، راجع ما المقصود بقابلية مراقبة شبكة Azure Kubernetes Service (AKS)؟.

المتطلبات الأساسية

  • الحد الأدنى لإصدار Azure CLI المطلوب للخطوات الواردة في هذه المقالة هو 2.44.0. قم بتشغيل az --version للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.

تثبيت aks-preview امتداد Azure CLI

هام

تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:

# Install the aks-preview extension
az extension add --name aks-preview

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

تسجيل NetworkObservabilityPreview العلامات المميزة

az feature register --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

استخدم az feature show للتحقق من حالة تسجيل علامة الميزة:

az feature show --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

انتظر حتى تقول الميزة مسجلة قبل أن تسبق المقالة.

{
  "id": "/subscriptions/23250d6d-28f0-41dd-9776-61fc80805b6e/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/NetworkObservabilityPreview",
  "name": "Microsoft.ContainerService/NetworkObservabilityPreview",
  "properties": {
    "state": "Registering"
  },
  "type": "Microsoft.Features/providers/features"
}

عند تسجيل الميزة، قم بتحديث تسجيل موفر موارد Microsoft.ContainerService مع تسجيل موفر az:

az provider register -n Microsoft.ContainerService

إنشاء مجموعة موارد

وتُعد مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها. إنشاء مجموعة موارد باستخدام الأمر az group create . في المثال التالي، سيتم إنشاء مجموعة موارد باسم myResourceGroup في موقع eastus:

az group create \
    --name myResourceGroup \
    --location eastus

إنشاء نظام مجموعة AKS

إنشاء نظام مجموعة AKS باستخدام الأمر az aks create . ينشئ المثال التالي مجموعة AKS باسم myAKSCluster في مجموعة موارد myResourceGroup :

تدعم أنظمة المجموعات غير Cilium تمكين مراقبة الشبكة على نظام مجموعة موجود أو أثناء إنشاء نظام مجموعة جديد.

مجموعة جديدة

استخدم az aks create في المثال التالي لإنشاء نظام مجموعة AKS مع إمكانية مراقبة الشبكة وغير Cilium.

az aks create \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --location eastus \
    --generate-ssh-keys \
    --network-plugin azure \
    --network-plugin-mode overlay \
    --pod-cidr 192.168.0.0/16 \
    --enable-network-observability

نظام المجموعة الموجود

استخدم az aks update لتمكين Network Observability على نظام مجموعة موجود.

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --enable-network-observability 

الحصول على بيانات اعتماد نظام المجموعة

az aks get-credentials --name myAKSCluster --resource-group myResourceGroup

تمكين المرئيات على Grafana

استخدم المثال التالي لتكوين مهام الكشط على Prometheus وتمكين التصور على Grafana لنظام مجموعة AKS.

إشعار

يتطلب القسم التالي تثبيتات Prometheus وGrafana.

  1. أضف مهمة القصاصة التالية إلى تكوين Prometheus الحالي الخاص بك ثم أعد تشغيل خادم Prometheus الخاص بك:

    scrape_configs:
      - job_name: "network-obs-pods"
        kubernetes_sd_configs:
          - role: pod
        relabel_configs:
          - source_labels: [__meta_kubernetes_pod_container_name]
            action: keep
            regex: kappie(.*)
          - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
            separator: ":"
            regex: ([^:]+)(?::\d+)?
            target_label: __address__
            replacement: ${1}:${2}
            action: replace
          - source_labels: [__meta_kubernetes_pod_node_name]
            action: replace
            target_label: instance
        metric_relabel_configs:
          - source_labels: [__name__]
            action: keep
            regex: (.*)
    
  2. في Targets of Prometheus، تحقق من وجود network-obs-pods .

  3. سجل الدخول إلى Grafana واستورد لوحة معلومات مراقبة الشبكة بالمعرف 18814.

تنظيف الموارد

إذا كنت لن تستمر في استخدام هذا التطبيق، فاحذف نظام مجموعة AKS والموارد الأخرى التي تم إنشاؤها في هذه المقالة باستخدام المثال التالي:

  az group delete \
    --name myResourceGroup

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

في هذه المقالة الإرشادية، تعلمت كيفية تثبيت وتمكين إمكانية مراقبة شبكة AKS لمجموعة AKS الخاصة بك.