Open Service Mesh abilitato per Azure Arc

Open Service Mesh (OSM) è una mesh di servizi cloud semplice, estendibile e nativa del cloud che consente di gestire, proteggere e ottenere in modo uniforme funzionalità di osservabilità predefinite per ambienti di microservizi altamente dinamici.

OSM esegue un piano di controllo basato su Envoy in Kubernetes, può essere configurato con le API SMI e funziona inserendo un proxy Envoy come contenitore sidecar accanto a ogni istanza dell'applicazione. Altre informazioni sugli scenari di mesh di servizi abilitati da Open Service Mesh.

Tutti i componenti di OSM abilitati per Azure Arc vengono distribuiti nelle zone di disponibilità, rendendoli ridondanti per la zona.

Requisiti e opzioni di installazione

Open Service Mesh abilitato per Azure Arc può essere distribuito tramite il portale di Azure, l'interfaccia della riga di comando di Azure, un modello ARM o criteri di Azure predefiniti.

Prerequisiti

  • Assicurarsi di aver soddisfatto tutti i prerequisiti comuni per le estensioni del cluster elencati qui.
  • Usare la versione dell'estensione az k8s-extension dell'interfaccia della riga di comando >= v1.0.4

Limitazioni correnti del supporto

  • È possibile distribuire una sola istanza di Open Service Mesh in un cluster Kubernetes connesso ad Azure Arc.
  • Il supporto è disponibile per le due versioni secondarie rilasciate più di recente di Open Service Mesh abilitate per Arc. La versione più recente è disponibile qui. Le versioni di rilascio supportate vengono aggiunte con note. Ignorare i tag associati alle versioni intermedie.
  • Attualmente sono supportate le distribuzioni kubernetes seguenti:
    • Motore del servizio Azure Kubernetes
    • Cluster del servizio Azure Kubernetes in Azure Stack HCI
    • Servizio Azure Kubernetes abilitato da Azure Arc
    • Cluster API Azure
    • Google Kubernetes Engine
    • Distribuzione di Kubernetes canonica
    • Rancher Kubernetes Engine
    • Distribuzione di OpenShift Kubernetes
    • Amazon Elastic Kubernetes Service
    • VMware Tanzu Kubernetes Grid
  • L'integrazione di Monitoraggio di Azure con Open Service Mesh abilitata per Azure Arc è disponibile in anteprima con supporto limitato.

Installazione di base con il portale di Azure

Per eseguire la distribuzione tramite il portale di Azure, dopo aver creato un cluster connesso Arc, passare alla sezione Open Service Mesh del cluster.

Aprire Service Mesh disponibile in Impostazioni per il cluster Kubernetes abilitato per Arc

Selezionare il pulsante Installa estensione per distribuire la versione più recente dell'estensione.

In alternativa, è possibile usare l'esperienza dell'interfaccia della riga di comando acquisita qui. Per l'onboarding su larga scala, leggere altre informazioni in questo articolo sulla distribuzione con il modello di Resource Manager e sull'uso di Criteri di Azure.

Installazione di base con l'interfaccia della riga di comando di Azure

I passaggi seguenti presuppongono che sia già disponibile un cluster con una distribuzione Kubernetes supportata connessa ad Azure Arc. Assicurarsi che la variabile di ambiente KUBECONFIG punti al kubeconfig del cluster Kubernetes abilitato per Arc.

Impostare le variabili di ambiente:

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

Se si usa un cluster OpenShift, passare alla procedura di installazione di OpenShift.

Creare l'estensione:

Nota

Per aggiungere una versione specifica di OSM, aggiungere il flag --version x.y.z al comando create. Si noti che verrà impostato il valore per auto-upgrade-minor-version su false.

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

Verrà visualizzato un output simile a questo esempio. La distribuzione del grafico helm OSM effettivo nel cluster può richiedere 3-5 minuti. Fino a quando non si verifica questa distribuzione, installState rimarrà 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"
}

Dopodiché, convalidare l'installazione.

Installazioni personalizzate

Le sezioni seguenti descrivono alcune installazioni personalizzate di OSM abilitato per Azure Arc. Le installazioni personalizzate richiedono valori di impostazione di OSM in un file JSON e passarli al comando dell'interfaccia della riga di comando k8s-extension create.

Installare OSM in un cluster OpenShift

  1. Copiare e salvare il contenuto seguente in un file JSON. Se è già stato creato un file di impostazioni di configurazione, aggiungere la riga seguente al file esistente per mantenere le modifiche precedenti.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Installare OSM con valori personalizzati.

  3. Aggiungere il vincolo del contesto di sicurezza con privilegi a ogni account del servizio per le applicazioni nella mesh.

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

La distribuzione del grafico helm OSM effettivo nel cluster può richiedere 3-5 minuti. Fino a quando non si verifica questa distribuzione, installState rimarrà Pending.

Per assicurarsi che l'impostazione del contenitore init con privilegi non venga ripristinata per impostazione predefinita, passare l'impostazione di configurazione "osm.osm.enablePrivilegedInitContainer" : "true" a tutti i comandi az k8s-extension create successivi.

Abilitare le funzionalità a disponibilità elevata all'installazione

I componenti del piano di controllo di OSM sono compilati tenendo presente la disponibilità elevata e la tolleranza di errore. Questa sezione descrive come abilitare la scalabilità automatica orizzontale dei pod (HPA) e il budget di interruzione dei pod (PDB) durante l'installazione. Altre informazioni sulle considerazioni sulla progettazione della disponibilità elevata in OSM.

Ridimensionamento automatico orizzontale dei pod (HPA)

HPA aumenta o riduce automaticamente i pod del piano di controllo in base all'utilizzo medio della CPU di destinazione (%) e all'utilizzo medio della memoria di destinazione (%) definito dall'utente. Per abilitare HPA e impostare i valori applicabili nei pod del piano di controllo OSM durante l'installazione, creare o aggiungere al file di impostazioni JSON esistente, come illustrato di seguito, ripetendo le coppie chiave/valore per ogni pod del piano di controllo (osmController, injector) su cui si vuole abilitare 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>"
}

Installare ora OSM con valori personalizzati.

Budget per l'interruzione dei pod (PDB)

Per evitare interruzioni durante le interruzioni pianificate, i pod del piano di controllo osm-controller e osm-injector hanno un PDB che garantisce che ci sia sempre almeno un pod corrispondente a ogni applicazione del piano di controllo.

Per abilitare PDB, creare o aggiungere al file di impostazioni JSON esistente come indicato di seguito per ogni pod del piano di controllo desiderato (osmController, injector):

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

Installare ora OSM con valori personalizzati.

Installare OSM con cert-manager per la gestione dei certificati

cert-manager è un provider che può essere usato per rilasciare certificati firmati a OSM senza la necessità di archiviare chiavi private in Kubernetes. Per altre informazioni, vedere la documentazione di cert-manager di OSM e la demo.

Nota

Usare i comandi forniti nella documentazione di GitHub OSM con cautela. Assicurarsi di usare lo spazio dei nomi corretto nei comandi o specificarlo con il flag --osm-namespace arc-osm-system.

Per installare OSM con cert-manager come provider di certificati, creare o aggiungere al file di impostazioni JSON esistente il valore certificateProvider.kind impostato su cert-manager, come illustrato di seguito. Per passare dai valori predefiniti di gestione certificati specificati nella documentazione di OSM, includere e aggiornare anche le righe certmanager.issuer successive.

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

Installare ora OSM con valori personalizzati.

Installare OSM con profilo di distribuzione per l'ingresso

OSM offre più opzioni per esporre i servizi mesh esternamente usando l'ingresso. OSM può usare Profilo di distribuzione, che funziona con il controller di ingresso installato all'esterno della mesh ed è stato effettuato il provisioning con un certificato per partecipare alla mesh. Per altre informazioni, vedere la documentazione di ingresso di OSM e la demo.

Nota

Usare i comandi forniti nella documentazione di GitHub OSM con cautela. Assicurarsi di usare lo spazio dei nomi corretto nei comandi o specificarlo con il flag --osm-namespace arc-osm-system. Per impostare i valori necessari per la configurazione del profilo di distribuzione durante l'installazione di OSM, aggiungere quanto segue al file di impostazioni 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"
}

Impostazione dei valori durante l'installazione di OSM

Tutti i valori che devono essere impostati durante l'installazione di OSM devono essere salvati in un singolo file JSON e passati tramite il comando di installazione dell'interfaccia della riga di comando di Azure.

Dopo aver creato un file JSON con valori applicabili, come descritto nelle sezioni di installazione personalizzata, impostare il percorso del file come variabile di ambiente:

export SETTINGS_FILE=<json-file-path>

Eseguire il comando az k8s-extension create per creare l'estensione OSM, passando il file delle impostazioni usando il flag --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

Installare OSM abilitato per Azure Arc usando il modello di Resource Manager

Dopo aver connesso il cluster ad Azure Arc, creare un file JSON con il formato seguente, assicurandosi di aggiornare i valori <cluster-name> e <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'))]"
        }
    ]
}

Impostare le variabili di ambiente:

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

Eseguire questo comando per installare l'estensione OSM:

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

Dovrebbe ora essere possibile visualizzare le risorse OSM e usare l'estensione OSM nel cluster.

Installare OSM abilitato per Azure Arc usando i criteri predefiniti

Un criterio predefinito è disponibile nel portale di Azure nella categoria di kubernetes: i cluster Kubernetes abilitati per Azure Arc devono avere l'estensione Open Service Mesh installata. Questo criterio può essere assegnato nell'ambito di una sottoscrizione o di un gruppo di risorse.

L'azione predefinita di questo criterio è Distribuisci se non esiste. È tuttavia possibile scegliere di controllare i cluster per le installazioni di estensioni modificando i parametri durante l'assegnazione. Viene richiesto anche di specificare la versione da installare (v1.0.0-1 o successiva) come parametro.

Convalidare l'installazione

Esegui il comando seguente:

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

L'output JSON visualizzato dovrebbe essere simile al seguente:

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

Per altri comandi che è possibile usare per convalidare e risolvere i problemi di distribuzione dei componenti dell'estensione Open Service Mesh (OSM) nel cluster, vedere la Guida alla risoluzione dei problemi

Configurazione controller OSM

OSM distribuisce una risorsa MeshConfig osm-mesh-config come parte del relativo piano di controllo nello spazio dei nomi arc-osm-system. Lo scopo di questo MeshConfig è fornire al proprietario o all'operatore mesh la possibilità di aggiornare alcune configurazioni mesh in base alle proprie esigenze. Per visualizzare i valori predefiniti, usare il comando seguente.

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

L'output mostra i valori predefiniti:

  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:

Per altre informazioni, vedere Informazioni di riferimento sull'API di configurazione. in cui spec.traffic.enablePermissiveTrafficPolicyMode è impostato su true. Quando OSM è in modalità criteri di traffico permissivi, l'imposizione dei criteri di traffico SMI viene ignorata. In questa modalità, OSM individua automaticamente i servizi che fanno parte delle regole dei criteri di traffico della mesh del servizio e dei programmi in ogni sidecar proxy envoy per poter comunicare con questi servizi.

osm-mesh-config può essere visualizzato anche nel portale di Azure selezionando Modifica configurazione nella sezione Open Service Mesh del cluster.

Pulsante Modifica configurazione nella parte superiore della sezione Open Service Mesh

Apportare modifiche alla configurazione del controller OSM

Nota

I valori in osm-mesh-config MeshConfig vengono mantenuti tra gli aggiornamenti.

È possibile apportare modifiche a osm-mesh-config usando il comando kubectl patch. Nell'esempio seguente la modalità dei criteri di traffico permissiva viene modificata in false.

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

Se viene usato un valore non corretto, le convalide in MeshConfig CRD impediscono la modifica con un messaggio di errore che spiega perché il valore non è valido. Ad esempio, questo comando mostra cosa accade se si esegue l'applicazione di patch enableEgress a un valore non booleano:

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"

In alternativa, per modificare osm-mesh-config nel portale di Azure, selezionare Modifica configurazione nella sezione Open Service Mesh del cluster.

Pulsante Modifica configurazione nella sezione Apri service mesh

Uso di OSM abilitato per Azure Arc

Per iniziare a usare le funzionalità di OSM, è prima necessario eseguire l'onboarding degli spazi dei nomi dell'applicazione nella mesh del servizio. Scaricare l'interfaccia della riga di comando di OSM dalla pagina delle versioni di GitHub OSM. Dopo aver aggiunto gli spazi dei nomi alla mesh, è possibile configurare i criteri SMI per ottenere la funzionalità OSM desiderata.

Eseguire l'onboarding degli spazi dei nomi nella mesh del servizio

Aggiungere spazi dei nomi alla mesh eseguendo il comando seguente:

osm namespace add <namespace_name>

È possibile eseguire l'onboarding degli spazi dei nomi anche dal portale di Azure selezionando +Aggiungi nella sezione Open Service Mesh del cluster.

Pulsante +Aggiungi nella parte superiore della sezione Open Service Mesh

Per altre informazioni sui servizi di onboarding, vedere la documentazione di Open Service Mesh.

Configurare OSM con i criteri SMI (Service Mesh Interface)

È possibile iniziare con un'applicazione di esempio o usare l'ambiente di test per provare i criteri SMI.

Nota

Se si usano applicazioni di esempio, assicurarsi che le versioni corrispondano alla versione dell'estensione OSM installata nel cluster. Ad esempio, se si usa la versione 1.0.0 dell'estensione OSM, usare il manifesto bookstore dal ramo release-v1.0 del repository upstream OSM.

Configurazione delle istanze di Jaeger, Prometheus e Grafana

L'estensione OSM non installa componenti aggiuntivi come Jaeger, Prometheus, Grafana e Flagger. È invece possibile integrare OSM con le proprie istanze in esecuzione di tali strumenti. Per l'integrazione con le proprie istanze, vedere la documentazione seguente:

Nota

Usare i comandi forniti nella documentazione di GitHub OSM con cautela. Assicurarsi di usare il nome arc-osm-system dello spazio dei nomi corretto quando si apportano modifiche a osm-mesh-config.

Monitoraggio dell'applicazione con Monitoraggio di Azure e Application Insights (anteprima)

Monitoraggio di Azure e Azure Application Insights consentono di ottimizzare la disponibilità e le prestazioni delle applicazioni e dei servizi in uso offrendo una soluzione completa per raccogliere e analizzare la telemetria e intervenire di conseguenza dal cloud e dagli ambienti locali. Open Service Mesh abilitato per Azure Arc include integrazioni approfondite in entrambi questi servizi di Azure. Questa integrazione offre un'esperienza ottimale di Azure per la visualizzazione e la risposta agli indicatori KPI critici forniti dalle metriche OSM.

Importante

Le funzionalità di anteprima di Kubernetes abilitato per Azure Arc sono disponibili in modalità self-service e con consenso esplito. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime di Kubernetes abilitato per Azure Arc sono parzialmente coperte dal supporto clienti con il massimo sforzo.

Seguire questa procedura per consentire a Monitoraggio di Azure di scorporare gli endpoint Prometheus per raccogliere le metriche dell'applicazione.

  1. Seguire le indicazioni disponibili qui per assicurarsi che sia eseguito l'onboarding nella mesh degli spazi dei nomi dell'applicazione da monitorare.

  2. Esporre gli endpoint Prometheus per gli spazi dei nomi dell'applicazione.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Installare l'estensione Monitoraggio di Azure usando le indicazioni disponibili qui.

  4. Creare ConfigMap nello spazio dei nomi kube-system che consente a Monitoraggio di Azure di monitorare gli spazi dei nomi. Ad esempio, creare un oggetto container-azm-ms-osmconfig.yaml con il codice seguente per monitorare <namespace1> e <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. Eseguire il comando kubectl seguente

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

La visualizzazione delle metriche in Log Analytics può richiedere fino a 15 minuti. È possibile provare a eseguire query sulla tabella InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Accedere al cluster Kubernetes connesso ad Arc usando questo collegamento.
  2. Passare a Monitoraggio di Azure e passare alla scheda Report per accedere alla cartella di lavoro di OSM.
  3. Selezionare l'intervallo di tempo e lo spazio dei nomi per definire l'ambito dei servizi.

Cartella di lavoro di OSM

Scheda Richieste

La scheda Richieste mostra un riepilogo di tutte le richieste HTTP inviate tramite servizio al servizio in OSM.

  • È possibile visualizzare tutti i servizi selezionando il servizio nella griglia.
  • È possibile visualizzare le richieste totali, la frequenza di errore della richiesta e la latenza P90.
  • È possibile eseguire il drill-down alla destinazione e visualizzare le tendenze per codice di errore/esito positivo HTTP, frequenza di esito positivo, utilizzo delle risorse pod e latenze in percentili diversi.

Scheda Connessioni

La scheda Connessioni mostra un riepilogo di tutte le connessioni tra i servizi in Open Service Mesh.

  • Connessioni in uscita: numero totale di connessioni tra i servizi di origine e di destinazione.
  • Connessioni attive in uscita: ultimo numero di connessioni attive tra origine e destinazione nell'intervallo di tempo selezionato.
  • Connessioni in uscita non riuscite: numero totale di connessioni non riuscite tra il servizio di origine e di destinazione.

Eseguire l'aggiornamento a una versione specifica di OSM

Potrebbero verificarsi tempi di inattività del piano di controllo durante gli aggiornamenti. Il piano dati è interessato solo durante gli aggiornamenti CRD.

Aggiornamenti supportati

L'estensione OSM può essere aggiornata manualmente tra versioni secondarie e principali. Tuttavia, l'aggiornamento automatico (se abilitato) funziona solo nelle versioni secondarie.

Eseguire manualmente l'aggiornamento a una versione specifica di OSM

Il comando seguente aggiorna l'estensione OSM-Arc a una versione specifica:

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

Abilitare gli aggiornamenti automatici

Se gli aggiornamenti automatici non sono abilitati per impostazione predefinita, è possibile eseguire il comando seguente per abilitarli. Il valore corrente di --auto-upgrade-minor-version può essere verificato eseguendo il comando az k8s-extension show come descritto in dettaglio nel passaggio Convalida installazione.

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

Disinstallare OSM abilitato per Azure Arc

Usare il comando seguente:

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

Verificare che l'istanza dell'estensione sia stata eliminata:

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

Questo output non deve includere OSM. Se nel cluster non sono installate altre estensioni, si tratta solo di una matrice vuota.

Quando si usa il az k8s-extension comando per eliminare l'estensione OSM, lo arc-osm-system spazio dei nomi non viene rimosso e le risorse effettive all'interno dello spazio dei nomi (ad esempio la modifica della configurazione del webhook e il pod osm-controller) richiedono circa 10 minuti per l'eliminazione.

Nota

Usare l'interfaccia della riga di comando az k8s-extension per disinstallare i componenti OSM gestiti da Arc. L'uso dell'interfaccia della riga di comando di OSM per disinstallare non è supportato da Arc e può comportare un comportamento indesiderato.

Passaggi successivi