Delen via


Azure Arc-ingeschakelde Open Service Mesh

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.
  • Gebruik az k8s-extension CLI-extensieversie > = 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 Local
    • 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 Open Service Mesh wilt implementeren in Azure Portal, gaat u naar uw Kubernetes-cluster met Arc. Selecteer In het servicemenu onder Instellingen de optie Service Mesh openen.

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 met deze opdracht de waarde voor auto-upgrade-minor-version false 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

U zou uitvoer moeten zien die met dit voorbeeld vergelijkbaar is. Het kan 3-5 minuten duren voordat de werkelijke OSM Helm-grafiek in het cluster is geïmplementeerd. Totdat deze implementatie plaatsvindt, blijft installStatePending.

{
  "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 in een JSON-bestand worden ingesteld en vervolgens worden doorgegeven aan 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, blijft installStatePending.

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 control plane pods omhoog of omlaag op basis van het gemiddelde beoogde CPU-gebruik (%) en het gemiddelde beoogde geheugengebruik (%) 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.

Pod-onderbrekingsbudget (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 toegang

OSM biedt meerdere opties om mesh-services extern beschikbaar te maken met behulp van ingress. OSM kan Contour gebruiken, dat werkt met de ingresscontroller die buiten de mesh is geïnstalleerd en is voorzien van een certificaat om deel te nemen aan de mesh. Raadpleeg de ingress documentatie 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 specificeert met behulp van de parameter --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

Azure Arc-ingeschakelde OSM 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 op het niveau 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:

Voor meer informatie, zie de configuratie-API-referentie. 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 servicemesh en stelt verkeerbeleidsregels in op elke Envoy-proxy-sidecar om met deze services te kunnen communiceren.

osm-mesh-config kan ook worden weergegeven in Azure Portal door configuratie bewerken te selecteren in het deelvenster Open Service Mesh van het cluster.

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 bewerkenosm-mesh-config te selecteren in het deelvenster Open Service Mesh van het cluster. Breng de gewenste wijzigingen aan en selecteer Beoordelen en opslaan.

Schermopname van de optie Configuratie bewerken voor Open Service Mesh in Azure Portal.

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 toevoegen aan de service-mesh

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

osm namespace add <namespace_name>

Als u een naamruimte in Azure Portal wilt onboarden, selecteert u Toevoegen in het deelvenster Open Service Mesh van het cluster en selecteert u de gewenste naamruimte.

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, gebruik dan het bookstore-manifest van de release-v1.0-tak van de OSM-upstream repository.

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 ze zijn' en 'indien beschikbaar' en zijn uitgesloten van de dienstniveauovereenkomsten en de 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, op de mesh worden aangemeld.

  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"

Bekijk de OSM-werkmap

  1. Open Azure Portal met behulp van deze koppeling en navigeer vervolgens naar uw met Arc verbonden Kubernetes-cluster.
  2. Ga naar Azure Monitor en ga naar het tabblad Rapporten om toegang te krijgen tot de OSM-werkmap.
  3. Selecteer een tijdsbereik en naamruimte om het bereik van uw services te bepalen.

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 Verbindingen 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 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 az k8s-extension opdracht gebruikt om de OSM-extensie te verwijderen, wordt de arc-osm-system naamruimte niet verwijderd. Het verwijderen van de werkelijke resources in de naamruimte (zoals de muterende webhookconfiguratie en osm-controller pod) duurt ongeveer 10 minuten.

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