Azure Arc-enabled Open Service Mesh
Open Service Mesh (OSM) è una mesh di servizi cloud semplice ed estendibile che consente agli utenti di gestire, proteggere e ottenere 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.
Opzioni e requisiti di installazione
Azure Arc-enabled Open Service Mesh può essere distribuito tramite portale di Azure, interfaccia della riga di comando di Azure, un modello di Resource Manager 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 dell'interfaccia
az k8s-extension
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. Trovare la versione più recente 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 (servizio Azure Kubernetes)
- Cluster del servizio Azure Kubernetes in Azure Stack HCI
- Servizio Azure Kubernetes abilitato da Azure Arc
- Cluster API Azure
- Motore di Google Kubernetes
- Distribuzione di Kubernetes canonica
- Rancher Kubernetes Engine
- Distribuzione di OpenShift Kubernetes
- Amazon Elastic Kubernetes Service
- Griglia Kubernetes di VMware Tanzu
- L'integrazione di Monitoraggio di Azure con Open Service Mesh abilitata per Azure Arc è disponibile in anteprima con supporto limitato.
Installazione di base con portale di Azure
Per eseguire la distribuzione con portale di Azure, dopo aver creato un cluster connesso ad Arc, passare alla sezione Open Service Mesh del cluster.
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 --version x.y.z
flag al create
comando . 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
L'output dovrebbe essere 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"
}
Convalidare quindi 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 k8s-extension create
comando dell'interfaccia della riga di comando.
Installare OSM in un cluster OpenShift
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" }
Installare OSM con valori personalizzati.
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 "osm.osm.enablePrivilegedInitContainer" : "true"
di configurazione a tutti i comandi successivi az k8s-extension create
.
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.
Scalabilità automatica 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 di interruzione dei pod (PDB)
Per evitare interruzioni durante le interruzioni pianificate, i osm-controller
pod del piano di controllo 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 specificare 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 certificateProvider.kind
valore 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 successive certmanager.issuer
.
{
"osm.osm.certificateProvider.kind" : "cert-manager",
"osm.osm.certmanager.issuerName" : "<issuer name>",
"osm.osm.certmanager.issuerKind" : "<issuer kind>",
"osm.osm.certmanager.issuerGroup" : "<issuer group>"
}
Installare ora OSM con valori personalizzati.
Installare OSM con contorno per l'ingresso
OSM offre più opzioni per esporre i servizi mesh esternamente usando l'ingresso. OSM può usare Contour, 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 in ingresso e la demo di OSM.
Nota
Usare i comandi forniti nella documentazione di GitHub osm con cautela. Assicurarsi di usare lo spazio dei nomi corretto nei comandi o specificare con il flag --osm-namespace arc-osm-system
.
Per impostare i valori necessari per la configurazione di Contour 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 az k8s-extension create
comando per creare l'estensione OSM, passando il file di impostazioni usando il --configuration-settings-file
flag :
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 <cluster-name>
valori 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 in portale di Azure nella categoria 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
Verrà visualizzato un output JSON 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 del controller OSM
OSM distribuisce una risorsa osm-mesh-config
MeshConfig come parte del piano di controllo nello arc-osm-system
spazio dei nomi. 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 Le 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 nella portale di Azure selezionando Modifica configurazione nella sezione Open Service Mesh del cluster.
Apportare modifiche alla configurazione del controller OSM
Nota
I valori in MeshConfig osm-mesh-config
vengono mantenuti tra gli aggiornamenti.
È possibile apportare modifiche a osm-mesh-config
usando il kubectl patch
comando . 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
in portale di Azure, selezionare Modifica configurazione nella sezione Open Service Mesh del cluster.
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 da portale di Azure selezionando +Aggiungi nella sezione Open Service Mesh del cluster.
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:
- Istanza BYO-Jaeger
- Istanza BYO-Prometheus
- Dashboard BYO-Grafana
- Recapito progressivo DI OSM con Flagger
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 app Azure lication Insights consentono di ottimizzare la disponibilità e le prestazioni delle applicazioni e dei servizi offrendo una soluzione completa per la raccolta, l'analisi e l'esecuzione dei dati di telemetria dagli ambienti cloud e 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 abilitate per Azure Arc sono disponibili in base al consenso esplicito self-service. Le anteprime vengono fornite "così com'è" e "come disponibili" e vengono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime di Kubernetes abilitate per Azure Arc sono parzialmente coperte dal supporto tecnico per i clienti in modo ottimale.
Seguire questa procedura per consentire a Monitoraggio di Azure di raschiare gli endpoint Prometheus per raccogliere le metriche dell'applicazione.
Seguire le indicazioni disponibili qui per assicurarsi che gli spazi dei nomi dell'applicazione da monitorare vengano onboarding nella mesh.
Esporre gli endpoint Prometheus per gli spazi dei nomi dell'applicazione.
osm metrics enable --namespace <namespace1> osm metrics enable --namespace <namespace2>
Installare l'estensione Monitoraggio di Azure usando le indicazioni disponibili qui.
Creare una mappa di configurazione nello
kube-system
spazio dei nomi che consente a Monitoraggio di Azure di monitorare gli spazi dei nomi. Ad esempio, creare uncontainer-azm-ms-osmconfig.yaml
oggetto 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
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"
Esplorazione del dashboard OSM
- Accedere al cluster Kubernetes connesso ad Arc usando questo collegamento.
- Passare a Monitoraggio di Azure e passare alla scheda Report per accedere alla cartella di lavoro di OSM.
- Selezionare l'intervallo di tempo e lo spazio dei nomi per definire l'ambito dei servizi.
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 Connessione ions 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 az k8s-extension show
comando 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
Utilizza il seguente comando:
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
- Si desidera fare semplicemente una prova? Iniziare rapidamente a usare uno scenario di avvio rapido di Azure Arc con l'API cluster.
- Ottenere assistenza per la risoluzione dei problemi per OSM abilitato per Azure Arc.
-
- Esplorare altre estensioni per Kubernetes con abilitazione di Arc.