Azure Arc-kompatibilis Open Service Mesh

Az Open Service Mesh (OSM) egy egyszerű, bővíthető, natív felhőszolgáltatás-háló, amely lehetővé teszi a felhasználók számára a rendkívül dinamikus mikroszolgáltatási környezetek egységes felügyeletét, védelmét és beépített megfigyelhetőségi funkcióinak használatát.

Az OSM egy Envoy-alapú vezérlősíkot futtat a Kubernetesen, SMI API-kkal konfigurálható, és úgy működik, hogy az alkalmazás minden példánya mellé beszúr egy envoy proxyt oldalkocsi-tárolóként. További információ az Open Service Mesh által engedélyezett szolgáltatáshálós forgatókönyvekről.

Az Azure Arc-kompatibilis OSM minden összetevője üzembe van helyezve a rendelkezésre állási zónákban, így zónaredundánssá válik.

Telepítési beállítások és követelmények

Az Azure Arc-kompatibilis Open Service Mesh üzembe helyezhető az Azure Portalon, az Azure CLI-vel, egy ARM-sablonnal vagy egy beépített Azure-szabályzattal.

Előfeltételek

  • Győződjön meg arról, hogy teljesül a fürtbővítmények itt felsorolt összes gyakori előfeltétele.
  • CLI-bővítményverzió használata az k8s-extension = 1.0.4-es verzió >

A jelenlegi támogatási korlátozások

  • Az Open Service Mesh csak egy példánya helyezhető üzembe egy Azure Arc-összekapcsolt Kubernetes-fürtön.
  • A támogatás az Arc-kompatibilis Open Service Mesh két legutóbb kiadott alverziója esetén érhető el. A legújabb verziót itt találja. A támogatott kiadási verziók megjegyzésekkel vannak kiegészítve. Hagyja figyelmen kívül a köztes kiadásokhoz társított címkéket.
  • Jelenleg a következő Kubernetes-disztribúciók támogatottak:
    • AKS (Azure Kubernetes Service) motor
    • AKS-fürtök az Azure Stack HCI-n
    • Az Azure Arc által engedélyezett AKS
    • Fürt API Azure
    • Google Kubernetes Engine
    • Canonical Kubernetes Distribution
    • Rancher Kubernetes Engine
    • OpenShift Kubernetes-disztribúció
    • Amazon Elastic Kubernetes Service
    • VMware Tanzu Kubernetes Grid
  • Az Azure Monitor és az Azure Arc-kompatibilis Open Service Mesh integrációja előzetes verzióban érhető el , korlátozott támogatással.

Alapszintű telepítés az Azure Portal használatával

Az Azure Portal használatával történő üzembe helyezéshez, miután rendelkezik archoz csatlakoztatott fürtel, lépjen a fürt Open Service Mesh szakaszára.

Open Service Mesh located under Settings for Arc enabled Kubernetes cluster

A bővítmény legújabb verziójának üzembe helyezéséhez válassza a Bővítmény telepítése gombot.

Másik lehetőségként használhatja az itt rögzített CLI-felületet. A nagy léptékű előkészítésről ebben a cikkben olvashat bővebben az ARM-sablonnalés az Azure Policy használatával történő üzembe helyezésről.

Alapszintű telepítés az Azure CLI használatával

Az alábbi lépések feltételezik, hogy már rendelkezik az Azure Archoz csatlakoztatott támogatott Kubernetes-disztribúcióval rendelkező fürttel. Győződjön meg arról, hogy a KUBECONFIG környezeti változó az Arc-kompatibilis Kubernetes-fürt kubeconfigjára mutat.

A környezeti változók beállítása:

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

Ha OpenShift-fürtöt használ, ugorjon az OpenShift telepítési lépéseire.

Hozza létre a bővítményt:

Feljegyzés

Az OSM egy adott verziójának rögzítéséhez adja hozzá a --version x.y.z jelölőt a create parancshoz. Vegye figyelembe, hogy ez hamis értékre auto-upgrade-minor-version állítja az értéket.

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

A példához hasonló kimenetnek kell megjelennie. A tényleges OSM helm-diagram üzembe helyezése a fürtön 3–5 percet vehet igénybe. Amíg ez az üzembe helyezés meg nem történik, installState a rendszer megmarad 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"
}

Ezután ellenőrizze a telepítést.

Egyéni telepítések

A következő szakaszok az Azure Arc-kompatibilis OSM egyes egyéni telepítéseit ismertetik. Az egyéni telepítésekhez meg kell adni az OSM értékeit egy JSON-fájlban, és át kell adni őket a CLI-parancsnak k8s-extension create .

OSM telepítése OpenShift-fürtre

  1. Másolja és mentse a következő tartalmat egy JSON-fájlba. Ha már létrehozott egy konfigurációs beállításfájlt, adja hozzá a következő sort a meglévő fájlhoz a korábbi módosítások megőrzése érdekében.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Telepítse az OSM-et egyéni értékekkel.

  3. Adja hozzá a kiemelt biztonsági környezet korlátozását a hálóban lévő alkalmazások minden egyes szolgáltatásfiókjára.

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

A tényleges OSM helm-diagram üzembe helyezése a fürtön 3–5 percet vehet igénybe. Amíg ez az üzembe helyezés meg nem történik, installState a rendszer megmarad Pending.

Annak érdekében, hogy a privileged init tárolóbeállítás ne térjen vissza az alapértelmezettre, adja át a konfigurációs beállítást az "osm.osm.enablePrivilegedInitContainer" : "true" összes további az k8s-extension create parancsnak.

Magas rendelkezésre állású funkciók engedélyezése a telepítéskor

Az OSM vezérlősík-összetevői magas rendelkezésre állással és hibatűréssel készültek. Ez a szakasz bemutatja, hogyan engedélyezheti a vízszintes pod automatikus skálázását (HPA) és a podkimaradási költségvetést (PDB) a telepítés során. További információ az OSM magas rendelkezésre állásának tervezési szempontjairól.

Vízszintes pod automatikus skálázása (HPA)

A HPA automatikusan fel- vagy leskálázza a vezérlősík podjait a felhasználó által meghatározott átlagos cél cpu-kihasználtság (%) és a célmemória átlagos kihasználtsága (%) alapján. Ha engedélyezni szeretné a HPA-t, és a telepítés során meg szeretné adni a megfelelő értékeket az OSM vezérlősík podján, hozzon létre vagy fűzze hozzá a meglévő JSON-beállításfájlt az itt látható módon, és ismételje meg a hpa engedélyezéséhez használni kívánt vezérlősík-podok (osmController, injector) kulcs-/érték párjait.

{
  "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>"
}

Most telepítse az OSM-et egyéni értékekkel.

Podkimaradás költségvetése (PDB)

A tervezett kimaradások során fellépő fennakadások elkerülése érdekében a vezérlősík podjai osm-controller és osm-injector egy PDB-vel rendelkeznek, amely biztosítja, hogy minden vezérlősík-alkalmazásnak mindig legyen legalább egy podja.

A PDB engedélyezéséhez hozza létre vagy fűzze hozzá a meglévő JSON-beállításfájlt az alábbiak szerint minden kívánt vezérlősík-podhoz (osmController, injector):

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

Most telepítse az OSM-et egyéni értékekkel.

Az OSM telepítése tanúsítványkezelővel a tanúsítványkezeléshez

A cert-manager egy olyan szolgáltató, amely használható aláírt tanúsítványok osM-hez való kiállításához anélkül, hogy titkos kulcsokat kellene a Kubernetesben tárolnia. További információért tekintse meg az OSM tanúsítványkezelői dokumentációját és bemutatóját.

Feljegyzés

Körültekintően használja az OSM GitHub dokumentációjában megadott parancsokat. Győződjön meg arról, hogy a parancsokban a megfelelő névteret használja, vagy jelölővel --osm-namespace arc-osm-systemadja meg.

Ha tanúsítványszolgáltatóként szeretné telepíteni az OSM-et a tanúsítványkezelővel, hozza létre vagy fűzze hozzá a meglévő JSON-beállításokhoz a tanúsítványkezelőre beállított értéket az certificateProvider.kind itt látható módon. Az OSM dokumentációjában megadott alapértelmezett tanúsítványkezelői értékekről való váltáshoz a következő certmanager.issuer sorokat is belefoglalhatja és frissítheti.

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

Most telepítse az OSM-et egyéni értékekkel.

OSM telepítése a Contour használatával a bejövő forgalomhoz

Az OSM több lehetőséget is kínál a mesh-szolgáltatások külső, bejövő forgalommal való elérhetővé adásával. Az OSM használhatja a Contourot, amely a hálón kívül telepített bejövőforgalom-vezérlővel működik, és egy tanúsítvánnyal rendelkezik a hálóban való részvételhez. További információért tekintse meg az OSM bejövőforgalom-dokumentációját és bemutatóját .

Feljegyzés

Körültekintően használja az OSM GitHub dokumentációjában megadott parancsokat. Győződjön meg arról, hogy a parancsokban a megfelelő névteret használja, vagy jelölővel --osm-namespace arc-osm-systemadja meg. Ha meg szeretné adni a Contour OSM-telepítés során történő konfigurálásához szükséges értékeket, fűzze hozzá a következőket a JSON-beállításfájlhoz:

{
  "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"
}

Értékek beállítása az OSM telepítése során

Az OSM telepítése során beállítani kívánt értékeket egyetlen JSON-fájlba kell menteni, és az Azure CLI telepítési parancsával kell átadni.

Miután létrehozott egy JSON-fájlt az egyéni telepítési szakaszokban leírt alkalmazható értékekkel, állítsa be a fájl elérési útját környezeti változóként:

export SETTINGS_FILE=<json-file-path>

Futtassa a az k8s-extension create parancsot az OSM-bővítmény létrehozásához, és adja át a beállításfájlt a --configuration-settings-file jelölő használatával:

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

Az Azure Arc-kompatibilis OSM telepítése ARM-sablonnal

Miután csatlakoztatta a fürtöt az Azure Archoz, hozzon létre egy JSON-fájlt a következő formátummal, és győződjön meg arról, hogy frissíti az értékeket és <osm-arc-version> az <cluster-name> értékeket:

{
    "$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'))]"
        }
    ]
}

A környezeti változók beállítása:

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

Futtassa ezt a parancsot az OSM-bővítmény telepítéséhez:

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

Most már megtekintheti az OSM-erőforrásokat, és használhatja az OSM-bővítményt a fürtben.

Az Azure Arc-kompatibilis OSM telepítése beépített szabályzattal

A Kubernetes kategóriában egy beépített szabályzat érhető el az Azure Portalon: Az Azure Arc-kompatibilis Kubernetes-fürtök esetében telepítve kell lennie az Open Service Mesh bővítménynek. Ez a szabályzat egy előfizetés vagy egy erőforráscsoport hatókörében rendelhető hozzá.

A szabályzat alapértelmezett művelete az Üzembe helyezés, ha nem létezik. A bővítménytelepítések fürtjeinek naplózását azonban úgy is megteheti, hogy módosítja a paramétereket a hozzárendelés során. A rendszer azt is kéri, hogy paraméterként adja meg a telepíteni kívánt verziót (1.0.0-1-es vagy újabb verzió).

Telepítés ellenőrzése

Futtassa az alábbi parancsot.

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

A következőhöz hasonló JSON-kimenetnek kell megjelennie:

{
  "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"
}

Az Open Service Mesh (OSM) bővítményösszetevők fürtben való üzembe helyezésének ellenőrzéséhez és hibaelhárításához használható további parancsokért tekintse meg a hibaelhárítási útmutatót

OSM-vezérlő konfigurálása

Az OSM egy MeshConfig-erőforrást osm-mesh-config helyez üzembe a vezérlősík részeként a névtérben arc-osm-system . Ennek a MeshConfig-nak az a célja, hogy lehetővé teszi a háló tulajdonosának/operátorának, hogy az igényeiknek megfelelően frissítsen néhány hálókonfigurációt. Az alapértelmezett értékek megtekintéséhez használja az alábbi parancsot.

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

A kimenet az alapértelmezett értékeket jeleníti meg:

  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:

További információ: Config API-referencia. Figyelje meg, hogy spec.traffic.enablePermissiveTrafficPolicyMode a beállítás értéke true. Ha az OSM megengedő forgalomszabályzat-módban van, az SMI forgalomszabályzat-kényszerítése megkerülve lesz. Ebben a módban az OSM automatikusan felderíti a szolgáltatásháló részét képező szolgáltatásokat, és az egyes megbízott proxyoldali oldalkocsikon a forgalomszabályzatot programozza, hogy kommunikálni tudjon ezekkel a szolgáltatásokkal.

osm-mesh-configaz Azure Portalon is megtekinthető, ha a fürt Open Service Mesh szakaszában a Konfiguráció szerkesztése lehetőséget választja.

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

Az OSM-vezérlő konfigurációjának módosítása

Feljegyzés

A MeshConfig osm-mesh-config értékei a frissítések között megmaradnak.

osm-mesh-config A parancs használatával módosíthatókkubectl patch. Az alábbi példában a megengedő forgalomszabályzati mód hamisra változik.

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

Helytelen érték használata esetén a MeshConfig CRD érvényesítési beállításai megakadályozzák a módosítást egy hibaüzenettel, amely elmagyarázza, hogy miért érvénytelen az érték. Ez a parancs például azt mutatja be, mi történik, ha nem logikai értékre javítunk 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"

Másik lehetőségként az Azure Portalon történő szerkesztéshez osm-mesh-config válassza a Konfiguráció szerkesztése lehetőséget a fürt Open Service Mesh szakaszában.

Edit configuration button in the Open Service Mesh section

Az Azure Arc-kompatibilis OSM használata

Az OSM-képességek használatának megkezdéséhez először fel kell vennie az alkalmazásnévtereket a szolgáltatáshálóba. Töltse le az OSM CLI-t az OSM GitHub kiadási oldaláról. Miután hozzáadta a névtereket a hálóhoz, konfigurálhatja az SMI-szabályzatokat a kívánt OSM-képesség eléréséhez.

Névterek előkészítése a szolgáltatáshálóra

Adjon hozzá névtereket a hálóhoz az alábbi parancs futtatásával:

osm namespace add <namespace_name>

A névterek az Azure Portalról is előkészíthetők, ha a +Hozzáadás lehetőséget választja a fürt Open Service Mesh szakaszában.

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

A szolgáltatások előkészítéséről további információt az Open Service Mesh dokumentációjában talál.

OSM konfigurálása Service Mesh Interface(SMI)-szabályzatokkal

Első lépésként használhatja a mintaalkalmazást, vagy a tesztkörnyezettel kipróbálhatja az SMI-szabályzatokat.

Feljegyzés

Ha mintaalkalmazásokat használ, győződjön meg arról, hogy azok verziója megegyezik a fürtre telepített OSM-bővítmény verziójával. Ha például az OSM-bővítmény 1.0.0-s verziójának használatát használja, használja az OSM 1.0-s kiadási ágának könyvesbolt-jegyzékfájlját a felsőbb rétegbeli adattárban.

Saját Jaeger-, Prometheus- és Grafana-példányok konfigurálása

Az OSM-bővítmény nem telepít olyan bővítményeket, mint a Jaeger, a Prometheus, a Grafana és a Flagger. Ehelyett integrálhatja az OSM-et az eszközök saját futó példányaival. A saját példányokkal való integrációhoz tekintse meg a következő dokumentációt:

Feljegyzés

Körültekintően használja az OSM GitHub dokumentációjában megadott parancsokat. Győződjön meg arról, hogy a megfelelő névtérnevet arc-osm-system használja a osm-mesh-configmódosításkor.

Alkalmazás monitorozása az Azure Monitor és az Alkalmazások Elemzések használatával (előzetes verzió)

Az Azure Monitor és a Azure-alkalmazás Elemzések is segít az alkalmazások és szolgáltatások rendelkezésre állásának és teljesítményének maximalizálásában azáltal, hogy átfogó megoldást kínál a felhőből és a helyszíni környezetekből származó telemetriai adatok gyűjtésére, elemzésére és kezelésére. Az Azure Arc-kompatibilis Open Service Mesh mindkét Azure-szolgáltatásba mély integrációval rendelkezik. Ez az integráció zökkenőmentes Azure-élményt nyújt az OSM-metrikák által biztosított kritikus KPI-k megtekintéséhez és megválaszolásához.

Fontos

Az Azure Arc-kompatibilis Kubernetes előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az Azure Arc-kompatibilis Kubernetes-előzetes verziókat részben az ügyfélszolgálat támogatja a legjobb munkával.

Az alábbi lépéseket követve engedélyezheti, hogy az Azure Monitor lekaparja a Prometheus-végpontokat az alkalmazásmetrikák gyűjtéséhez.

  1. Kövesse az itt elérhető útmutatást annak biztosításához, hogy a figyelni kívánt alkalmazásnévterek be legyenek kapcsolva a hálóba.

  2. Tegye elérhetővé a Prometheus-végpontokat az alkalmazásnévterekhez.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Telepítse az Azure Monitor bővítményt az itt elérhető útmutatóval.

  4. Hozzon létre egy konfigurációtérképet a kube-system névtérben, amely lehetővé teszi az Azure Monitor számára a névterek monitorozását. Hozzon létre például egy container-azm-ms-osmconfig.yaml következőt a monitorozáshoz <namespace1> és <namespace2>a következőhöz:

    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. Futtassa a következő kubectl parancsot

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

Akár 15 percig is eltarthat, amíg a metrikák megjelennek a Log Analyticsben. Megpróbálhatja lekérdezni a Elemzések Metrics táblát.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Ezen a hivatkozáson keresztül érheti el az Archoz csatlakoztatott Kubernetes-fürtöt.
  2. Nyissa meg az Azure Monitort, és lépjen a Jelentések lapra az OSM-munkafüzet eléréséhez.
  3. Válassza ki az időtartomány > névteret a szolgáltatások hatóköréhez.

OSM workbook

Kérelmek lap

A Kérések lapon az OSM szolgáltatáson keresztül küldött http-kérések összegzése látható.

  • Az összes szolgáltatást a rácson lévő szolgáltatás kiválasztásával tekintheti meg.
  • Megtekintheti az összes kérést, a kérelmek hibaarányát és A P90 késését.
  • Lehatolást végezhet a célhelyre, és megtekintheti a HTTP-hiba/sikerkód, a sikerességi arány, a poderőforrás-kihasználtság és a késések trendjeit különböző percentilisekben.

Connections (Kapcsolatok) lap

A Csatlakozás ions lapon az Open Service Mesh szolgáltatásai közötti összes kapcsolat összegzése látható.

  • Kimenő kapcsolatok: a forrás- és célszolgáltatások közötti kapcsolatok teljes száma.
  • Kimenő aktív kapcsolatok: a forrás és a cél közötti aktív kapcsolatok utolsó száma a kiválasztott időtartományban.
  • Kimenő sikertelen kapcsolatok: a forrás- és célszolgáltatás közötti sikertelen kapcsolatok teljes száma.

Frissítés az OSM egy adott verziójára

A frissítés során előfordulhat, hogy a vezérlősík leáll. Az adatsíkot csak a CRD-frissítések érintik.

Támogatott frissítések

Az OSM-bővítmény manuálisan frissíthető az alverziók és a főverziók között. Az automatikus frissítés (ha engedélyezve van) azonban csak az alverziókon működik.

Frissítés egy adott OSM-verzióra manuálisan

A következő parancs egy adott verzióra frissíti az OSM-Arc bővítményt:

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

Automatikus frissítések engedélyezése

Ha az automatikus frissítések alapértelmezés szerint nem engedélyezettek, az alábbi parancs futtatásával engedélyezheti őket. Az aktuális érték --auto-upgrade-minor-version ellenőrizhető a parancs futtatásával, az k8s-extension showa Telepítési ellenőrzés lépésben leírtak szerint.

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

Az Azure Arc-kompatibilis OSM eltávolítása

Használja az alábbi parancsot:

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

Ellenőrizze, hogy a bővítménypéldány törölve lett-e:

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

Ennek a kimenetnek nem szabad tartalmaznia az OSM-et. Ha nincs más bővítmény telepítve a fürtön, az csak egy üres tömb.

Ha a az k8s-extension parancsot használja az OSM-bővítmény törléséhez, a arc-osm-system névtér nem lesz eltávolítva, és a névtérben lévő tényleges erőforrások (például a webhook konfigurációjának és az osm-controller podnak a mutációja) körülbelül 10 percet vesz igénybe a törléshez.

Feljegyzés

Az az k8s-extension CLI használatával távolítsa el az Arc által felügyelt OSM-összetevőket. Az Arc nem támogatja az OSM parancssori felületének eltávolítását, és nemkívánatos viselkedést eredményezhet.

Következő lépések