شبكة خدمة مفتوحة تم تمكين Azure Arc

Open Service Mesh (OSM) هي شبكة خدمة سحابية أصلية خفيفة الوزن وقابلة للتوسعة تسمح للمستخدمين بإدارة ميزات إمكانية المراقبة وتأمينها والحصول عليها بشكل موحد لبيئات الخدمات المصغرة الديناميكية للغاية.

يقوم OSM بتشغيل وحدة تحكم مستندة إلى Envoy على Kubernetes، ويمكن تكوينها باستخدام واجهات برمجة تطبيقات SMI ، وتعمل عن طريق إدخال وكيل Envoy كحاوية sidecar بجوار كل مثيل من التطبيق الخاص بك. اقرأ المزيد حول سيناريوهات شبكة الخدمة التي تم تمكينها بواسطة Open Service Mesh.

يتم نشر جميع مكونات OSM التي تدعم Azure Arc على مناطق التوفر، ما يجعلها زائدة عن الحاجة في المنطقة.

خيارات التثبيت ومتطلباته

يمكن نشر Open Service Mesh الممكن بواسطة Azure Arc من خلال مدخل Azure أو Azure CLI أو قالب ARM أو نهج Azure مضمن.

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

  • تأكد من استيفاء جميع المتطلبات الأساسية الشائعة لملحقات نظام المجموعة المدرجة هنا.
  • استخدام az k8s-extension إصدار >ملحق CLI = v1.0.4

قيود الدعم الحالية

  • يمكن نشر مثيل واحد فقط من Open Service Mesh على مجموعة Kubernetes المتصلة ب Azure Arc.
  • يتوفر الدعم للإصدارين الثانويين اللذين تم إصدارهما مؤخرا من Open Service Mesh الممكن بواسطة Arc. ابحث عن أحدث إصدار هنا. يتم إلحاق إصدارات الإصدار المدعومة بالملاحظات. تجاهل العلامات المقترنة بإصدارات وسيطة.
  • يتم حاليا دعم توزيعات Kubernetes التالية:
    • محرك AKS (Azure Kubernetes Service)
    • مجموعات AKS على Azure Stack HCI
    • AKS ممكن بواسطة Azure Arc
    • واجهة برمجة تطبيقات نظام المجموعة في Azure
    • محرك Google Kubernetes
    • توزيع Canonical Kubernetes
    • محرك Rancher Kubernetes
    • توزيع OpenShift Kubernetes
    • Amazon Elastic Kubernetes Service
    • خطوط شبكة VMwar Tanzu Kubernetes
  • يتوفر تكامل Azure Monitor مع Open Service Mesh الممكن في Azure Arc في المعاينة بدعم محدود.

التثبيت الأساسي باستخدام مدخل Microsoft Azure

للنشر باستخدام مدخل Microsoft Azure، بمجرد أن يكون لديك نظام مجموعة متصل ب Arc، انتقل إلى قسم Open Service Mesh الخاص بالمجموعة.

Open Service Mesh located under Settings for Arc enabled Kubernetes cluster

حدد الزر Install extension لنشر أحدث إصدار من الملحق.

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

التثبيت الأساسي باستخدام Azure CLI

تفترض الخطوات التالية أن لديك بالفعل مجموعة مع توزيع Kubernetes مدعوم متصل ب Azure Arc. تأكد من أن متغير بيئة KUBECONFIG يشير إلى kubeconfig لمجموعة Kubernetes الممكنة بواسطة Arc.

تعيين متغيرات البيئة:

export CLUSTER_NAME=<arc-cluster-name>
export RESOURCE_GROUP=<resource-group-name>

إذا كنت تستخدم مجموعة OpenShift، فانتقل إلى خطوات تثبيت OpenShift.

إنشاء الملحق:

إشعار

لتثبيت إصدار معين من OSM، أضف العلامة --version x.y.zcreate إلى الأمر . لاحظ أن هذا سيضبط القيمة على auto-upgrade-minor-version false.

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm

يجب أن تشاهد إخراجا مشابها لهذا المثال. قد يستغرق الأمر 3-5 دقائق حتى يتم نشر مخطط إدارة OSM الفعلي إلى نظام المجموعة. حتى يحدث هذا النشر، installState سيبقى Pending.

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T17:50:11.4116524+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Pending",
  "lastModifiedTime": "2021-04-29T17:50:11.4116525+00:00",
  "lastStatusTime": null,
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

بعد ذلك، تحقق من صحة التثبيت.

عمليات التثبيت المخصصة

تصف الأقسام التالية بعض عمليات التثبيت المخصصة ل OSM الممكن بواسطة Azure Arc. تتطلب عمليات التثبيت المخصصة تعيين قيم OSM من خلال في ملف JSON وتمريرها إلى k8s-extension create أمر CLI.

تثبيت OSM على مجموعة OpenShift

  1. انسخ المحتويات التالية واحفظها في ملف JSON. إذا قمت بالفعل بإنشاء ملف إعدادات التكوين، أضف السطر التالي إلى الملف الموجود للحفاظ على التغييرات السابقة.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. تثبيت OSM مع قيم مخصصة.

  3. أضف قيد سياق الأمان المميز إلى كل حساب خدمة للتطبيقات في الشبكة.

    oc adm policy add-scc-to-user privileged -z <service account name> -n <service account namespace>
    

قد يستغرق الأمر 3-5 دقائق حتى يتم نشر مخطط إدارة OSM الفعلي إلى نظام المجموعة. حتى يحدث هذا النشر، installState سيبقى Pending.

للتأكد من أن إعداد حاوية التهيئة المميزة لا يعود إلى الإعداد الافتراضي، قم بتمرير "osm.osm.enablePrivilegedInitContainer" : "true" إعداد التكوين إلى جميع الأوامر اللاحقة az k8s-extension create .

تمكين ميزات قابلية الوصول العالية عند التثبيت

يتم إنشاء مكونات وحدة التحكم الخاصة ب OSM مع مراعاة قابلية الوصول العالية والتسامح مع الخطأ. يصف هذا القسم كيفية تمكين التحجيم التلقائي للجراب الأفقي (HPA) وموازنة تعطيل الجراب (PDB) أثناء التثبيت. اقرأ المزيد حول اعتبارات التصميم للتوافر العالي على OSM.

التحجيم التلقائي للجراب الأفقي (HPA)

يقوم HPA تلقائيا بتحجيم وحدات وحدة التحكم لأعلى أو لأسفل استنادا إلى متوسط استخدام وحدة المعالجة المركزية الهدف (٪) ومتوسط استخدام الذاكرة الهدف (٪) الذي يحدده المستخدم. لتمكين HPA وتعيين القيم القابلة للتطبيق على وحدات تحكم OSM أثناء التثبيت، قم بإنشاء أو إلحاق ملف إعدادات JSON الحالي كما هو موضح هنا، مع تكرار أزواج المفاتيح/القيمة لكل حاوية وحدة تحكم (osmController، injector) التي تريد تمكين HPA عليها.

{
  "osm.osm.<control_plane_pod>.autoScale.enable" : "true",
  "osm.osm.<control_plane_pod>.autoScale.minReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.maxReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.cpu.targetAverageUtilization" : "<allowed values 0-100>",
  "osm.osm.<control_plane_pod>.autoScale.memory.targetAverageUtilization" : "<allowed values 0-100>"
}

الآن، قم بتثبيت OSM مع قيم مخصصة.

موازنة تعطيل الجراب (PDB)

من أجل منع الاضطرابات أثناء الانقطاعات المخطط لها، فإن وحدات وحدة osm-controller التحكم وامتلك osm-injector PDB يضمن وجود جراب واحد على الأقل يتوافق مع كل تطبيق وحدة تحكم.

لتمكين PDB، قم بإنشاء أو إلحاق ملف إعدادات JSON الموجود لديك كما يلي لكل حاوية وحدة تحكم مطلوبة (osmController، injector):

{
  "osm.osm.<control_plane_pod>.enablePodDisruptionBudget" : "true"
}

الآن، قم بتثبيت OSM مع قيم مخصصة.

تثبيت OSM مع مدير الشهادات لإدارة الشهادات

مدير الشهادات هو موفر يمكن استخدامه لإصدار شهادات موقعة إلى OSM دون الحاجة إلى تخزين المفاتيح الخاصة في Kubernetes. راجع وثائق مدير شهادات OSM والعرض التوضيحي لمعرفة المزيد.

إشعار

استخدم الأوامر المتوفرة في وثائق OSM GitHub بحذر. تأكد من استخدام مساحة الاسم الصحيحة في الأوامر أو تحديد مع العلامة --osm-namespace arc-osm-system.

لتثبيت OSM مع cert-manager كموفر الشهادة، قم بإنشاء إعدادات JSON الموجودة أو إلحاقها بملف certificateProvider.kind القيمة التي تم تعيينها إلى cert-manager كما هو موضح هنا. للتغيير من قيم إدارة الشهادات الافتراضية المحددة في وثائق OSM، قم أيضا بتضمين الأسطر التالية certmanager.issuer وتحديثها.

{
  "osm.osm.certificateProvider.kind" : "cert-manager",
  "osm.osm.certmanager.issuerName" : "<issuer name>",
  "osm.osm.certmanager.issuerKind" : "<issuer kind>",
  "osm.osm.certmanager.issuerGroup" : "<issuer group>"
}

الآن، قم بتثبيت OSM مع قيم مخصصة.

تثبيت OSM مع Contour للدخول

يوفر OSM خيارات متعددة لعرض خدمات الشبكة خارجيا باستخدام الدخول. يمكن ل OSM استخدام Contour، الذي يعمل مع وحدة التحكم في الدخول المثبتة خارج الشبكة ومجهزة بشهادة للمشاركة في الشبكة. راجع وثائق دخول OSM والعرض التوضيحي لمعرفة المزيد.

إشعار

استخدم الأوامر المتوفرة في وثائق OSM GitHub بحذر. تأكد من استخدام مساحة الاسم الصحيحة في الأوامر أو تحديد مع العلامة --osm-namespace arc-osm-system. لتعيين القيم المطلوبة لتكوين Contour أثناء تثبيت OSM، قم بإلحاق ما يلي إلى ملف إعدادات JSON الخاص بك:

{
  "osm.osm.osmNamespace" : "arc-osm-system",
  "osm.contour.enabled" : "true",
  "osm.contour.configInline.tls.envoy-client-certificate.name" : "osm-contour-envoy-client-cert", 
  "osm.contour.configInline.tls.envoy-client-certificate.namespace" : "arc-osm-system"
}

تعيين القيم أثناء تثبيت OSM

يجب حفظ أي قيم يجب تعيينها أثناء تثبيت OSM في ملف JSON واحد وتم تمريرها من خلال أمر تثبيت Azure CLI.

بعد إنشاء ملف JSON بقيم قابلة للتطبيق كما هو موضح في أقسام التثبيت المخصصة، قم بتعيين مسار الملف كمتغير بيئة:

export SETTINGS_FILE=<json-file-path>

az k8s-extension create قم بتشغيل الأمر لإنشاء ملحق OSM، وتمرير ملف الإعدادات باستخدام العلامة --configuration-settings-file :

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm --configuration-settings-file $SETTINGS_FILE

تثبيت OSM الذي يدعم Azure Arc باستخدام قالب ARM

بعد توصيل نظام المجموعة الخاص بك ب Azure Arc، قم بإنشاء ملف JSON بالتنسيق التالي، مع التأكد من تحديث <cluster-name> القيم و <osm-arc-version> :

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "ConnectedClusterName": {
            "defaultValue": "<cluster-name>",
            "type": "String",
            "metadata": {
                "description": "The Connected Cluster name."
            }
        },
        "ExtensionInstanceName": {
            "defaultValue": "osm",
            "type": "String",
            "metadata": {
                "description": "The extension instance name."
            }
        },
        "ExtensionVersion": {
            "defaultValue": "<osm-arc-version>",
            "type": "String",
            "metadata": {
                "description": "The extension type version."
            }
        },
        "ExtensionType": {
            "defaultValue": "Microsoft.openservicemesh",
            "type": "String",
            "metadata": {
                "description": "The extension type."
            }
        },
        "ReleaseTrain": {
            "defaultValue": "Stable",
            "type": "String",
            "metadata": {
                "description": "The release train."
            }
        }
    },
    "functions": [],
    "resources": [
        {
            "type": "Microsoft.KubernetesConfiguration/extensions",
            "apiVersion": "2020-07-01-preview",
            "name": "[parameters('ExtensionInstanceName')]",
            "properties": {
                "extensionType": "[parameters('ExtensionType')]",
                "releaseTrain": "[parameters('ReleaseTrain')]",
                "version": "[parameters('ExtensionVersion')]"
            },
            "scope": "[concat('Microsoft.Kubernetes/connectedClusters/', parameters('ConnectedClusterName'))]"
        }
    ]
}

تعيين متغيرات البيئة:

export TEMPLATE_FILE_NAME=<template-file-path>
export DEPLOYMENT_NAME=<desired-deployment-name>

قم بتشغيل هذا الأمر لتثبيت ملحق OSM:

az deployment group create --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP --template-file $TEMPLATE_FILE_NAME

يجب أن تكون قادرا الآن على عرض موارد OSM واستخدام ملحق OSM في مجموعتك.

تثبيت OSM الذي يدعم Azure Arc باستخدام النهج المضمن

يتوفر نهج مضمن على مدخل Microsoft Azure ضمن فئة Kubernetes : يجب أن يكون ملحق شبكة الخدمة المفتوحة مثبتا على مجموعات Kubernetes التي تدعم Azure Arc. يمكن تعيين هذا النهج في نطاق اشتراك أو مجموعة موارد.

الإجراء الافتراضي لهذا النهج هو Deploy إذا لم يكن موجودا. ومع ذلك، يمكنك اختيار تدقيق أنظمة المجموعات لتثبيتات الملحقات عن طريق تغيير المعلمات أثناء التعيين. تتم مطالبتك أيضا بتحديد الإصدار الذي ترغب في تثبيته (إصدار 1.0.0-1 أو أعلى) كمعلمة.

التحقق من صحة التثبيت

قم بتشغيل الأمر التالي.

az k8s-extension show --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm

يجب أن تشاهد إخراج JSON مشابها ل:

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T19:22:00.7649729+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Installed",
  "lastModifiedTime": "2021-04-29T19:22:00.7649731+00:00",
  "lastStatusTime": "2021-04-29T19:23:27.642+00:00",
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

لمزيد من الأوامر التي يمكنك استخدامها للتحقق من صحة واستكشاف أخطاء نشر مكونات ملحق Open Service Mesh (OSM) وإصلاحها على نظام المجموعة، راجع دليل استكشاف الأخطاء وإصلاحها

تكوين وحدة تحكم OSM

ينشر OSM مورد osm-mesh-config MeshConfig كجزء من وحدة التحكم الخاصة به في arc-osm-system مساحة الاسم. الغرض من هذا MeshConfig هو تزويد مالك/مشغل الشبكة بالقدرة على تحديث بعض تكوينات الشبكة بناء على احتياجاتهم. لعرض القيم الافتراضية، استخدم الأمر التالي.

kubectl describe meshconfig osm-mesh-config -n arc-osm-system

يظهر الإخراج القيم الافتراضية:

  Certificate:
    Cert Key Bit Size:               2048
    Service Cert Validity Duration:  24h
  Feature Flags:
    Enable Async Proxy Service Mapping:  false
    Enable Egress Policy:                true
    Enable Envoy Active Health Checks:   false
    Enable Ingress Backend Policy:       true
    Enable Multicluster Mode:            false
    Enable Retry Policy:                 false
    Enable Snapshot Cache Mode:          false
    Enable WASM Stats:                   true
  Observability:
    Enable Debug Server:  false
    Osm Log Level:        info
    Tracing:
      Enable:  false
  Sidecar:
    Config Resync Interval:            0s
    Enable Privileged Init Container:  false
    Log Level:                         error
    Resources:
  Traffic:
    Enable Egress:                          false
    Enable Permissive Traffic Policy Mode:  true
    Inbound External Authorization:
      Enable:              false
      Failure Mode Allow:  false
      Stat Prefix:         inboundExtAuthz
      Timeout:             1s
    Inbound Port Exclusion List:
    Outbound IP Range Exclusion List:
    Outbound Port Exclusion List:

لمزيد من المعلومات، راجع مرجع واجهة برمجة تطبيقات التكوين. لاحظ أنه spec.traffic.enablePermissiveTrafficPolicyMode تم تعيين إلى true. عندما يكون OSM في وضع نهج نسبة استخدام الشبكة المتساهل، يتم تجاوز فرض نهج حركة مرور SMI . في هذا الوضع، تعمل شبكة الخدمة المفتوحة تلقائياً على اكتشاف الخدمات التي هي جزء من شبكة الخدمة، وبرمجة قواعد نهج نسبة استخدام الشبكة على كل حاوية جانبية وكيلة لـ Envoy، لتتمكّن من التواصل مع هذه الخدمات.

osm-mesh-config يمكن أيضا عرضها في مدخل Microsoft Azure عن طريق تحديد Edit configuration في قسم Open Service Mesh الخاص بالمجموعة.

Edit configuration button located on top of the Open Service Mesh section

إجراء تغييرات على تكوين وحدة تحكم OSM

إشعار

تستمر القيم في MeshConfig osm-mesh-config عبر الترقيات.

osm-mesh-config يمكن إجراء التغييرات باستخدام kubectl patch الأمر . في المثال التالي، يتم تغيير وضع نهج نسبة استخدام الشبكة المتساهل إلى خطأ.

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":false}}}' --type=merge

إذا تم استخدام قيمة غير صحيحة، فإن عمليات التحقق من الصحة على MeshConfig CRD تمنع التغيير برسالة خطأ توضح سبب عدم صلاحية القيمة. على سبيل المثال، يوضح هذا الأمر ما يحدث إذا قمنا بتصحيح enableEgress قيمة غير منطقية:

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":"no"}}}'  --type=merge
# Validations on the CRD will deny this change
The MeshConfig "osm-mesh-config" is invalid: spec.traffic.enableEgress: Invalid value: "string": spec.traffic.enableEgress in body must be of type boolean: "string"

بدلا من ذلك، للتحرير osm-mesh-config في مدخل Microsoft Azure، حدد Edit configuration في قسم Open Service Mesh الخاص بالمجموعة.

Edit configuration button in the Open Service Mesh section

استخدام OSM الذي يدعم Azure Arc

لبدء استخدام قدرات OSM، تحتاج أولا إلى إلحاق مساحات أسماء التطبيق إلى شبكة الخدمة. قم بتنزيل OSM CLI من صفحة إصدارات OSM GitHub. بمجرد إضافة مساحات الأسماء إلى الشبكة، يمكنك تكوين نهج SMI لتحقيق إمكانية OSM المطلوبة.

إلحاق مساحات الأسماء إلى شبكة الخدمة

أضف مساحات الأسماء إلى الشبكة عن طريق تشغيل الأمر التالي:

osm namespace add <namespace_name>

يمكن إلحاق مساحات الأسماء من مدخل Microsoft Azure أيضا عن طريق تحديد +Add في قسم Open Service Mesh الخاص بالمجموعة.

+Add button located on top of the Open Service Mesh section

لمزيد من المعلومات حول خدمات الإلحاق، راجع وثائق Open Service Mesh.

تكوين OSM باستخدام نهج واجهة شبكة الخدمة (SMI)

يمكنك البدء بنموذج تطبيق أو استخدام بيئة الاختبار لتجربة نهج SMI.

إشعار

إذا كنت تستخدم نماذج التطبيقات، فتأكد من أن إصداراتها تطابق إصدار ملحق OSM المثبت على نظام المجموعة الخاص بك. على سبيل المثال، إذا كنت تستخدم الإصدار 1.0.0 من ملحق OSM، فاستخدم بيان المكتبة من فرع release-v1.0 من مستودع المصدر OSM.

تكوين مثيلات Jaeger وPrometheus وGrafana الخاصة بك

لا يقوم ملحق OSM بتثبيت الوظائف الإضافية مثل Jaeger وPrometheus وGrafanaو Flagger. يمكنك دمج OSM مع مثيلات التشغيل الخاصة بك من هذه الأدوات بدلا من ذلك. للتكامل مع مثيلاتك الخاصة، راجع الوثائق التالية:

إشعار

استخدم الأوامر المتوفرة في وثائق OSM GitHub بحذر. تأكد من استخدام اسم arc-osm-system مساحة الاسم الصحيح عند إجراء تغييرات على osm-mesh-config.

مراقبة التطبيق باستخدام Azure Monitor وApplications Insights (معاينة)

يساعدك كل من Azure Monitor وAzure Application Insights على زيادة توفر التطبيقات والخدمات وأدائها إلى أقصى حد من خلال تقديم حل شامل لجمع بيانات تتبع الاستخدام وتحليلها والعمل عليها من البيئات السحابية والأماكن المحلية. تحتوي شبكة الخدمة المفتوحة الممكنة على Azure Arc على تكاملات عميقة في كل من خدمات Azure هذه. يوفر هذا التكامل تجربة Azure سلسة لعرض مؤشرات الأداء الرئيسية الهامة التي توفرها مقاييس OSM والاستجابة لها.

هام

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

اتبع هذه الخطوات للسماح ل Azure Monitor باستخراج نقاط نهاية Prometheus لجمع مقاييس التطبيق.

  1. اتبع الإرشادات المتوفرة هنا للتأكد من أن مساحات أسماء التطبيق التي ترغب في مراقبتها يتم إلحاقها بالشبكات.

  2. كشف نقاط نهاية Prometheus لمساحات أسماء التطبيقات.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. قم بتثبيت ملحق Azure Monitor باستخدام الإرشادات المتوفرة هنا.

  4. إنشاء Configmap في مساحة الاسم kube-system التي تمكن Azure Monitor من مراقبة مساحات الأسماء الخاصة بك. على سبيل المثال، قم بإنشاء container-azm-ms-osmconfig.yaml مع ما يلي لمراقبة <namespace1> و <namespace2>:

    kind: ConfigMap
    apiVersion: v1
    data:
      schema-version: v1
      config-version: ver1
      osm-metric-collection-configuration: |-
        # OSM metric collection settings
        [osm_metric_collection_configuration]
          [osm_metric_collection_configuration.settings]
              # Namespaces to monitor
              monitor_namespaces = ["<namespace1>", "<namespace2>"]
    metadata:
      name: container-azm-ms-osmconfig
      namespace: kube-system
    
  5. تشغيل الأمر kubectl التالي

    kubectl apply -f container-azm-ms-osmconfig.yaml
    

قد يستغرق ظهور المقاييس في Log Analytics ما يصل إلى 15 دقيقة. يمكنك محاولة الاستعلام عن جدول InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. الوصول إلى مجموعة Kubernetes المتصلة ب Arc باستخدام هذا الارتباط.
  2. انتقل إلى Azure Monitor وانتقل إلى علامة التبويب Reports للوصول إلى مصنف OSM.
  3. حدد النطاق الزمني ومساحة الاسم لتحديد نطاق خدماتك.

OSM workbook

علامة التبويب Requests

تعرض علامة التبويب الطلبات ملخصا لجميع طلبات http المرسلة عبر الخدمة إلى الخدمة في OSM.

  • يمكنك عرض جميع الخدمات عن طريق تحديد الخدمة في الشبكة.
  • يمكنك عرض إجمالي الطلبات ومعدل خطأ الطلب وزمن انتقال P90.
  • يمكنك التنقل لأسفل إلى الوجهة وعرض اتجاهات رمز الخطأ/النجاح HTTP ومعدل النجاح واستخدام موارد الجراب وزمن الانتقال عند النسب المئوية المختلفة.

علامة التبويب "Connections"

تعرض علامة التبويب الاتصال ملخصا لجميع الاتصالات بين خدماتك في Open Service Mesh.

  • الاتصالات الصادرة: إجمالي عدد الاتصالات بين خدمات المصدر والوجهة.
  • الاتصالات النشطة الصادرة: آخر عدد من الاتصالات النشطة بين المصدر والوجهة في النطاق الزمني المحدد.
  • الاتصالات الفاشلة الصادرة: إجمالي عدد الاتصالات الفاشلة بين خدمة المصدر والوجهة.

الترقية إلى إصدار معين من OSM

قد يكون هناك بعض وقت تعطل مستوى التحكم أثناء الترقيات. تتأثر وحدة البيانات فقط أثناء ترقيات CRD.

الترقيات المدعومة

يمكن ترقية ملحق OSM يدويا عبر الإصدارات الثانوية والكبرى. ومع ذلك، تعمل الترقية التلقائية (إذا تم تمكينها) فقط عبر الإصدارات الثانوية.

الترقية إلى إصدار OSM معين يدويا

يقوم الأمر التالي بترقية ملحق OSM-Arc إلى إصدار معين:

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --version x.y.z

تمكين الترقيات التلقائية

إذا لم يتم تمكين الترقيات التلقائية بشكل افتراضي، يمكن تشغيل الأمر التالي لتمكينها. يمكن التحقق من القيمة الحالية من --auto-upgrade-minor-version عن طريق تشغيل az k8s-extension show الأمر كما هو مفصل في خطوة التحقق من صحة التثبيت .

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --auto-upgrade-minor-version true

إلغاء تثبيت OSM الذي يدعم Azure Arc

استخدم أمر التالي:

az k8s-extension delete --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm -y

تحقق من حذف مثيل الملحق:

az k8s-extension list --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP

يجب ألا يتضمن هذا الإخراج OSM. إذا لم يكن لديك أي ملحقات أخرى مثبتة على مجموعتك، فهي مجرد صفيف فارغ.

عند استخدام az k8s-extension الأمر لحذف ملحق OSM، arc-osm-system لا تتم إزالة مساحة الاسم، وتستغرق الموارد الفعلية داخل مساحة الاسم (مثل تغيير تكوين خطاف الويب ووحدة تحكم osm) حوالي 10 دقائق لحذفها.

إشعار

استخدم az k8s-extension CLI لإلغاء تثبيت مكونات OSM التي يديرها Arc. لا يدعم Arc استخدام OSM CLI لإلغاء التثبيت ويمكن أن يؤدي إلى سلوك غير مرغوب فيه.

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