Open Service Mesh met Azure Arc

Open Service Mesh (OSM) is een lichtgewicht, uitbreidbaar cloudeigen service-mesh waarmee gebruikers de waarneembaarheidsfuncties voor zeer dynamische microserviceomgevingen uniform kunnen beheren, beveiligen en eruit kunnen halen.

OSM voert een op Envoy gebaseerd besturingsvlak uit op Kubernetes, kan worden geconfigureerd met SMI-API's en werkt door een Envoy-proxy in te voeren als sidecarcontainer naast elk exemplaar van uw toepassing. Lees meer over de service-mesh-scenario's die zijn ingeschakeld door Open Service Mesh.

Alle onderdelen van OSM met Azure Arc worden geïmplementeerd in beschikbaarheidszones, waardoor ze zone-redundant zijn.

Installatieopties en vereisten

Open Service Mesh met Azure Arc kan worden geïmplementeerd via Azure Portal, Azure CLI, een ARM-sjabloon of een ingebouwd Azure-beleid.

Vereisten

  • Zorg ervoor dat u aan alle algemene vereisten voor clusterextensies hebt voldaan die hier worden vermeld.
  • CLI-extensieversie az k8s-extension>gebruiken = v1.0.4

Huidige ondersteuningsbeperkingen

  • Er kan slechts één exemplaar van Open Service Mesh worden geïmplementeerd in een Met Azure Arc verbonden Kubernetes-cluster.
  • Ondersteuning is beschikbaar voor de twee recent uitgebrachte secundaire versies van Open Service Mesh met Arc. Zoek hier de nieuwste versie. Ondersteunde releaseversies worden toegevoegd met opmerkingen. Negeer de tags die zijn gekoppeld aan tussenliggende releases.
  • De volgende Kubernetes-distributies worden momenteel ondersteund:
    • AKS-engine (Azure Kubernetes Service)
    • AKS-clusters in Azure Stack HCI
    • AKS ingeschakeld door Azure Arc
    • Cluster-API Azure
    • Google Kubernetes Engine
    • Canonical Kubernetes Distribution
    • Rancher Kubernetes Engine
    • OpenShift Kubernetes-distributie
    • Amazon Elastic Kubernetes Service
    • VMware Tanzu Kubernetes Grid
  • Azure Monitor-integratie met Open Service Mesh met Azure Arc is beschikbaar in preview met beperkte ondersteuning.

Basisinstallatie met behulp van Azure Portal

Als u wilt implementeren met behulp van Azure Portal, gaat u naar de sectie Open Service Mesh van het cluster zodra u een met Arc verbonden cluster hebt.

Open Service Mesh located under Settings for Arc enabled Kubernetes cluster

Selecteer de knop Extensie installeren om de nieuwste versie van de extensie te implementeren.

U kunt ook de CLI-ervaring gebruiken die hier is vastgelegd. Lees voor onboarding op schaal verder in dit artikel over implementatie met behulp van een ARM-sjabloon en het gebruik van Azure Policy.

Basisinstallatie met behulp van Azure CLI

In de volgende stappen wordt ervan uitgegaan dat u al een cluster hebt met een ondersteunde Kubernetes-distributie die is verbonden met Azure Arc. Zorg ervoor dat uw KUBECONFIG-omgevingsvariabele verwijst naar de kubeconfig van het Kubernetes-cluster met Arc.

Stel de omgevingsvariabelen in:

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

Als u een OpenShift-cluster gebruikt, gaat u verder met de installatiestappen van OpenShift.

Maak de extensie:

Notitie

Als u een specifieke versie van OSM wilt vastmaken, voegt u de --version x.y.z vlag toe aan de create opdracht. Houd er rekening mee dat hiermee de waarde voor auto-upgrade-minor-version onwaar wordt ingesteld.

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

Als het goed is, ziet u uitvoer die vergelijkbaar is met dit voorbeeld. Het kan 3-5 minuten duren voordat de werkelijke OSM Helm-grafiek in het cluster is geïmplementeerd. Totdat deze implementatie plaatsvindt, installState blijft deze behouden 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"
}

Valideer vervolgens uw installatie.

Aangepaste installaties

In de volgende secties worden bepaalde aangepaste installaties van OSM met Azure Arc beschreven. Voor aangepaste installaties moeten waarden van OSM worden ingesteld door in een JSON-bestand en deze door te geven aan k8s-extension create de CLI-opdracht.

OSM installeren op een OpenShift-cluster

  1. Kopieer en sla de volgende inhoud op in een JSON-bestand. Als u al een configuratie-instellingenbestand hebt gemaakt, voegt u de volgende regel toe aan het bestaande bestand om uw vorige wijzigingen te behouden.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Installeer OSM met aangepaste waarden.

  3. Voeg de beperkte beveiligingscontextbeperking toe aan elk serviceaccount voor de toepassingen in de mesh.

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

Het kan 3-5 minuten duren voordat de werkelijke OSM Helm-grafiek in het cluster is geïmplementeerd. Totdat deze implementatie plaatsvindt, installState blijft deze behouden Pending.

Om ervoor te zorgen dat de bevoegde init-containerinstelling niet wordt teruggezet naar de standaardinstelling, geeft u de "osm.osm.enablePrivilegedInitContainer" : "true" configuratie-instelling door aan alle volgende az k8s-extension create opdrachten.

Functies voor hoge beschikbaarheid inschakelen bij de installatie

De onderdelen van het besturingsvlak van OSM zijn gebouwd met hoge beschikbaarheid en fouttolerantie in gedachten. In deze sectie wordt beschreven hoe u automatische schaalaanpassing van horizontale pods (HPA) en PDB (Pod Disruption Budget) inschakelt tijdens de installatie. Lees meer over de ontwerpoverwegingen voor hoge beschikbaarheid op OSM.

Horizontaal automatisch schalen van pods (HPA)

HPA schaalt automatisch pods omhoog of omlaag op basis van het gemiddelde CPU-doelgebruik (%) en het gemiddelde doelgeheugengebruik (%) dat door de gebruiker is gedefinieerd. Als u HPA wilt inschakelen en toepasselijke waarden wilt instellen op OSM-besturingsvlakpods tijdens de installatie, maakt of voegt u dit toe aan uw bestaande JSON-instellingenbestand, zoals hier wordt weergegeven, waarbij u de sleutel-/waardeparen herhaalt voor elke pod van het besturingsvlak (osmController, ) injectorwaarvoor u HPA wilt inschakelen.

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

Installeer NU OSM met aangepaste waarden.

Budget voor podonderbreking (PDB)

Om onderbrekingen tijdens geplande storingen te voorkomen, hebben besturingsvlakpods osm-controller en osm-injector een PDB die ervoor zorgt dat er altijd ten minste één pod is die overeenkomt met elke besturingsvlaktoepassing.

Als u PDB wilt inschakelen, maakt of voegt u het bestaande JSON-instellingenbestand als volgt toe voor elke gewenste pod van het besturingsvlak (osmController, injector):

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

Installeer NU OSM met aangepaste waarden.

OSM installeren met certificaatbeheer

Certificaatbeheer is een provider die kan worden gebruikt voor het uitgeven van ondertekende certificaten aan OSM zonder dat u persoonlijke sleutels hoeft op te slaan in Kubernetes. Raadpleeg de documentatie en demo van OSM voor certificaatbeheer voor meer informatie.

Notitie

Gebruik de opdrachten in de GitHub-documentatie van OSM met voorzichtigheid. Zorg ervoor dat u de juiste naamruimte in opdrachten gebruikt of opgeeft met vlag --osm-namespace arc-osm-system.

Als u OSM wilt installeren met certificaatbeheer als certificaatprovider, maakt of voegt u het bestaande JSON-instellingenbestand toe aan de certificateProvider.kind waarde die is ingesteld op certificaatbeheer, zoals hier wordt weergegeven. Als u de standaardwaarden voor certificaatbeheer wilt wijzigen die zijn opgegeven in de OSM-documentatie, moet u ook de volgende certmanager.issuer regels opnemen en bijwerken.

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

Installeer NU OSM met aangepaste waarden.

OSM installeren met Contour voor inkomend verkeer

OSM biedt meerdere opties om mesh-services extern beschikbaar te maken met behulp van inkomend verkeer. OSM kan Contour gebruiken, die werkt met de ingangscontroller die buiten de mesh is geïnstalleerd en is ingericht met een certificaat om deel te nemen aan de mesh. Raadpleeg de toegangsbeheerobjectdocumentatie en demo van OSM voor meer informatie.

Notitie

Gebruik de opdrachten in de GitHub-documentatie van OSM met voorzichtigheid. Zorg ervoor dat u de juiste naamruimte in opdrachten gebruikt of opgeeft met vlag --osm-namespace arc-osm-system. Als u de vereiste waarden wilt instellen voor het configureren van Contour tijdens de installatie van OSM, voegt u het volgende toe aan het JSON-instellingenbestand:

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

Waarden instellen tijdens de installatie van OSM

Waarden die moeten worden ingesteld tijdens de installatie van OSM, moeten worden opgeslagen in één JSON-bestand en worden doorgegeven via de Azure CLI-installatieopdracht.

Nadat u een JSON-bestand met toepasselijke waarden hebt gemaakt, zoals beschreven in de aangepaste installatiesecties, stelt u het bestandspad in als een omgevingsvariabele:

export SETTINGS_FILE=<json-file-path>

Voer de az k8s-extension create opdracht uit om de OSM-extensie te maken, waarbij u het instellingenbestand doorgeeft met behulp van de --configuration-settings-file vlag:

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 met Azure Arc installeren met behulp van EEN ARM-sjabloon

Nadat u uw cluster hebt verbonden met Azure Arc, maakt u een JSON-bestand met de volgende indeling, waarbij u de <cluster-name> waarden en <osm-arc-version> waarden bijwerkt:

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

Stel de omgevingsvariabelen in:

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

Voer deze opdracht uit om de OSM-extensie te installeren:

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

U moet nu de OSM-resources kunnen bekijken en de OSM-extensie in uw cluster kunnen gebruiken.

Osm met Azure Arc installeren met behulp van ingebouwd beleid

Er is een ingebouwd beleid beschikbaar in Azure Portal onder de categorie Kubernetes : Voor Kubernetes-clusters met Azure Arc moet de Open Service Mesh-extensie zijn geïnstalleerd. Dit beleid kan worden toegewezen aan het bereik van een abonnement of een resourcegroep.

De standaardactie van dit beleid is Implementeren als dit niet bestaat. U kunt er echter voor kiezen om de clusters voor extensie-installaties te controleren door de parameters tijdens de toewijzing te wijzigen. U wordt ook gevraagd om de versie op te geven die u wilt installeren (v1.0.0-1 of hoger) als parameter.

Installatie valideren

Voer de volgende opdracht uit.

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

U ziet nu een JSON-uitvoer die vergelijkbaar is met:

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

Raadpleeg onze gids voor probleemoplossing voor meer opdrachten die u kunt gebruiken om de implementatie van de Open Service Mesh-extensieonderdelen (OSM) op uw cluster te valideren en problemen op te lossen

Configuratie van OSM-controller

OSM implementeert een MeshConfig-resource osm-mesh-config als onderdeel van het besturingsvlak in arc-osm-system de naamruimte. Het doel van deze MeshConfig is om de mesh-eigenaar/-operator de mogelijkheid te bieden om een aantal van de mesh-configuraties bij te werken op basis van hun behoeften. Gebruik de volgende opdracht om de standaardwaarden weer te geven.

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

In de uitvoer worden de standaardwaarden weergegeven:

  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:

Zie de naslaginformatie over de configuratie-API voor meer informatie. U ziet dat spec.traffic.enablePermissiveTrafficPolicyMode is ingesteld op true. Wanneer OSM zich in de permissieve verkeersbeleidsmodus bevindt, wordt het afdwingen van SMI-verkeersbeleid overgeslagen. In deze modus detecteert OSM automatisch services die deel uitmaken van de service-mesh en programma's verkeersbeleidsregels op elke Envoy-proxy-sidecar om met deze services te kunnen communiceren.

osm-mesh-configkan ook worden weergegeven in Azure Portal door configuratie bewerken te selecteren in de sectie Open Service Mesh van het cluster.

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

Wijzigingen aanbrengen in de configuratie van de OSM-controller

Notitie

Waarden in de MeshConfig osm-mesh-config blijven behouden tijdens upgrades.

osm-mesh-config U kunt wijzigingen aanbrengen met behulp van de kubectl patch opdracht. In het volgende voorbeeld wordt de permissieve verkeersbeleidsmodus gewijzigd in false.

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

Als er een onjuiste waarde wordt gebruikt, voorkomen validaties op de MeshConfig CRD de wijziging met een foutbericht waarin wordt uitgelegd waarom de waarde ongeldig is. Deze opdracht laat bijvoorbeeld zien wat er gebeurt als we een patch enableEgress uitvoeren op een niet-Booleaanse waarde:

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"

U kunt ook bewerken in Azure Portal door configuratie bewerken osm-mesh-config te selecteren in de sectie Open Service Mesh van het cluster.

Edit configuration button in the Open Service Mesh section

Osm met Azure Arc gebruiken

Als u OSM-mogelijkheden wilt gaan gebruiken, moet u eerst de naamruimten van de toepassing onboarden naar de service-mesh. Download de OSM CLI op de gitHub-releasepagina van OSM. Zodra de naamruimten aan de mesh zijn toegevoegd, kunt u het SMI-beleid configureren om de gewenste OSM-mogelijkheid te bereiken.

Naamruimten onboarden naar de service-mesh

Voeg naamruimten toe aan de mesh door de volgende opdracht uit te voeren:

osm namespace add <namespace_name>

Naamruimten kunnen ook worden toegevoegd vanuit Azure Portal door +Toevoegen te selecteren in de sectie Open Service Mesh van het cluster.

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

Zie de Open Service Mesh-documentatie voor meer informatie over onboardingservices.

OSM configureren met SMI-beleid (Service Mesh Interface)

U kunt beginnen met een voorbeeldtoepassing of uw testomgeving gebruiken om SMI-beleid uit te proberen.

Notitie

Als u voorbeeldtoepassingen gebruikt, moet u ervoor zorgen dat de versies overeenkomen met de versie van de OSM-extensie die op uw cluster is geïnstalleerd. Als u bijvoorbeeld v1.0.0 van de OSM-extensie gebruikt, gebruikt u het bookstore-manifest van de release-v1.0-vertakking van osm-upstreamopslagplaats.

Uw eigen Jaeger-, Prometheus- en Grafana-exemplaren configureren

De OSM-extensie installeert geen invoegtoepassingen zoals Jaeger, Prometheus, Grafana en Flagger. U kunt OSM integreren met uw eigen actieve exemplaren van deze hulpprogramma's. Als u wilt integreren met uw eigen exemplaren, raadpleegt u de volgende documentatie:

Notitie

Gebruik de opdrachten in de GitHub-documentatie van OSM met voorzichtigheid. Zorg ervoor dat u de juiste naamruimtenaam arc-osm-system gebruikt bij het aanbrengen van wijzigingen in osm-mesh-config.

Toepassing bewaken met Behulp van Azure Monitor en Applications Insights (preview)

Azure Monitor en Azure-toepassing Insights helpen u bij het maximaliseren van de beschikbaarheid en prestaties van uw toepassingen en services door een uitgebreide oplossing te bieden voor het verzamelen, analyseren en uitvoeren van telemetrie vanuit uw cloud- en on-premises omgevingen. Open Service Mesh met Azure Arc heeft uitgebreide integraties in beide Azure-services. Deze integratie biedt een naadloze Azure-ervaring voor het weergeven en reageren op kritieke KPI's die worden geleverd door metrische OSM-gegevens.

Belangrijk

Kubernetes Preview-functies met Azure Arc zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals is' en 'als beschikbaar' en ze worden uitgesloten van de serviceovereenkomsten en beperkte garantie. Kubernetes-previews met Azure Arc worden gedeeltelijk gedekt door klantondersteuning op basis van best effort.

Volg deze stappen om Azure Monitor toe te staan Prometheus-eindpunten te scrapen voor het verzamelen van metrische toepassingsgegevens.

  1. Volg de richtlijnen die hier beschikbaar zijn om ervoor te zorgen dat de naamruimten van de toepassing die u wilt bewaken, worden onboarding naar de mesh uitgevoerd.

  2. Maak de Prometheus-eindpunten beschikbaar voor toepassingsnaamruimten.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Installeer de Azure Monitor-extensie met behulp van de richtlijnen die hier beschikbaar zijn.

  4. Maak een Configmap in de kube-system naamruimte waarmee Azure Monitor uw naamruimten kan bewaken. Maak bijvoorbeeld een container-azm-ms-osmconfig.yaml met het volgende om te controleren <namespace1> en <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. Voer de volgende kubectl-opdracht uit

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

Het kan tot 15 minuten duren voordat de metrische gegevens worden weergegeven in Log Analytics. U kunt een query uitvoeren op de tabel InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Open uw met Arc verbonden Kubernetes-cluster met behulp van deze koppeling.
  2. Ga naar Azure Monitor en ga naar het tabblad Rapporten om toegang te krijgen tot de OSM-werkmap.
  3. Selecteer de tijdsbereik en naamruimte om uw services te bepalen.

OSM workbook

Tabblad Aanvragen

Op het tabblad Aanvragen ziet u een overzicht van alle HTTP-aanvragen die via de service naar de service in OSM worden verzonden.

  • U kunt alle services weergeven door de service in het raster te selecteren.
  • U kunt het totale aantal aanvragen, de foutfrequentie van aanvragen en de P90-latentie bekijken.
  • U kunt inzoomen op bestemming en trends bekijken voor HTTP-fout-/succescode, slagingspercentage, resourcegebruik van pods en latenties op verschillende percentielen.

Tabblad Verbindingen

Op het tabblad Verbinding maken ions ziet u een overzicht van alle verbindingen tussen uw services in Open Service Mesh.

  • Uitgaande verbindingen: het totale aantal verbindingen tussen bron- en doelservices.
  • Uitgaande actieve verbindingen: laatste telling van actieve verbindingen tussen bron en doel in het geselecteerde tijdsbereik.
  • Uitgaande mislukte verbindingen: het totale aantal mislukte verbindingen tussen de bron- en doelservice.

Upgraden naar een specifieke versie van OSM

Er is mogelijk enige downtime van het besturingsvlak tijdens upgrades. Het gegevensvlak wordt alleen beïnvloed tijdens CRD-upgrades.

Ondersteunde upgrades

De OSM-extensie kan handmatig worden bijgewerkt in secundaire en primaire versies. Automatische upgrade (indien ingeschakeld) werkt echter alleen in secundaire versies.

Handmatig upgraden naar een specifieke OSM-versie

Met de volgende opdracht wordt de OSM-Arc-extensie bijgewerkt naar een specifieke versie:

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

Automatische upgrades inschakelen

Als automatische upgrades niet standaard zijn ingeschakeld, kan de volgende opdracht worden uitgevoerd om ze in te schakelen. De huidige waarde van --auto-upgrade-minor-version deze waarde kan worden gecontroleerd door de az k8s-extension show opdracht uit te voeren zoals beschreven in de stap Installatie valideren.

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 met Azure Arc verwijderen

Gebruik de volgende opdracht:

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

Controleer of het extensie-exemplaar is verwijderd:

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

Deze uitvoer mag OSM niet bevatten. Als er geen andere extensies op uw cluster zijn geïnstalleerd, is dit slechts een lege matrix.

Wanneer u de opdracht gebruikt om de az k8s-extension OSM-extensie te verwijderen, wordt de arc-osm-system naamruimte niet verwijderd en duurt het ongeveer 10 minuten voordat de werkelijke resources in de naamruimte (zoals het dempen van de webhookconfiguratie en osm-controllerpod) worden verwijderd.

Notitie

Gebruik de AZ k8s-extension CLI om OSM-onderdelen te verwijderen die worden beheerd door Arc. Het gebruik van de OSM CLI om te verwijderen wordt niet ondersteund door Arc en kan leiden tot ongewenst gedrag.

Volgende stappen