Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Istio è una rete di servizi open source che si integra in modo trasparente con le applicazioni distribuite esistenti. Offre un modo uniforme ed efficiente per proteggere, connettere e monitorare i servizi, in particolare in un'architettura di applicazione distribuita.
Istio aiuta gli sviluppatori a gestire le interazioni da servizio a servizio fornendo funzionalità come la gestione del traffico, l'osservabilità, la sicurezza e l'imposizione dei criteri senza modificare il codice dell'applicazione. Viene ampiamente usato nelle applicazioni moderne native del cloud, in particolare in Kubernetes.
Azure Kubernetes Service (AKS) offre ora un add-on per rete di servizi basato su Istio che è ufficialmente supportato e testato per l'integrazione con Azure Kubernetes Service e Kubernetes con integrazione Azure Arc.
Con la funzionalità del servizio gestito di Monitoraggio di Azure per Prometheus , è possibile raccogliere e analizzare le metriche su larga scala. Le metriche prometheus vengono archiviate nelle aree di lavoro di Monitoraggio di Azure. I workspaces supportano strumenti di analisi come Azure Managed Grafana, Esploratore di metriche di Azure Monitor con PromQL e strumenti open source come PromQL e Grafana.
Questo articolo fornisce istruzioni dettagliate sull'uso del servizio gestito Azure Monitor per Prometheus per raccogliere le metriche Istio tramite il componente aggiuntivo della mesh di servizi basata su Istio per AKS o per Kubernetes abilitato mediante Azure Arc. È quindi possibile visualizzare le metriche in Grafana gestito di Azure.
Prerequisiti
CLI di Azure installata e configurata. Per eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
Se utilizzi l'add-on Service Mesh basato su Istio per AKS (Azure Kubernetes Service), devi avere installata la Azure CLI versione 2.57.0 o successiva. È possibile eseguire
az --version
per verificare la versione.Kubectl installato per interagire con il cluster Kubernetes.
Limitazioni
- Per un elenco delle limitazioni relative all'uso del componente aggiuntivo service mesh basato su Istio per il servizio Azure Kubernetes Service (AKS), vedere l'articolo di panoramica sul componente aggiuntivo.
- Attualmente, non è disponibile alcun supporto per raccogliere le metriche dalla configurazione di Istio con l'autenticazione TLS reciproca.
- Attualmente non è disponibile alcun supporto per l'uso della visualizzazione della mesh di servizi Kiali con il servizio gestito per Prometheus.
Configurare Istio, servizio gestito per Prometheus e Azure Managed Grafana
Creare un cluster del servizio Azure Kubernetes con il servizio gestito per Prometheus abilitato
Innanzitutto, è necessario creare un cluster Azure Kubernetes Service (AKS) (o usarne uno esistente) e abilitare i servizi gestiti per Prometheus e Azure Managed Grafana. Per istruzioni, vedere Abilitare Prometheus e Grafana in un cluster del servizio Azure Kubernetes.
Se usi l'Azure CLI per creare un nuovo cluster AKS, puoi usare questi comandi:
az group create --name myResourceGroup --location eastus
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --enable-azure-monitor-metrics --generate-ssh-keys
Configurare Istio
È possibile utilizzare il servizio gestito per Prometheus per raccogliere le metriche sia da Istio open-source che dall'add-on di service mesh basato su Istio per AKS.
- Per configurare Istio open source, vedere le guide all'installazione di Istio.
- Per configurare il componente aggiuntivo Mesh di servizi basato su Istio per il servizio Azure Kubernetes, vedere Distribuire il componente aggiuntivo mesh di servizi basato su Istio per il servizio Azure Kubernetes.
Ottenere le credenziali di AKS
az account set --subscription <subscription id>
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Configurare il servizio gestito per Prometheus per raccogliere le metriche Istio
Per raccogliere le metriche dalla configurazione di Istio con il servizio gestito per Prometheus, è possibile usare le annotazioni dei pod. Queste annotazioni vengono configurate automaticamente con Istio. È necessario abilitare lo scarto basato sulle annotazioni dei pod nel servizio gestito per Prometheus.
Per abilitare lo scraping, personalizzare la mappa di configurazione nel servizio gestito per Prometheus (ama-metrics-settings-configmap.yaml
) per includere lo spazio dei nomi istio-system
e gli spazi dei nomi per la configurazione sidecar Istio. Ad esempio, se si configura Istio per inserire il sidecar in my-namespace
, aggiornare la mappa di configurazione come indicato di seguito:
pod-annotation-based-scraping: |-
podannotationnamespaceregex = "aks-istio-system|my-namespace"
Avvertimento
L'analisi delle annotazioni dei pod da molti spazi dei nomi può generare un volume elevato di metriche a seconda del numero di pod con annotazioni.
Per altre informazioni, vedere Abilitare lo scraping basato sulle annotazioni dei pod.
Applica la mappa di configurazione aggiornata al cluster AKS.
kubectl apply -f ama-metrics-settings-configmap.yaml
Eseguire query sulle metriche Istio
Le metriche raccolte da Istio vengono archiviate nell'area di lavoro di Monitoraggio di Azure associata al servizio di gestione per Prometheus. È possibile eseguire query sulle metriche direttamente dall'area di lavoro o tramite l'istanza di Grafana gestita di Azure connessa all'area di lavoro.
Per visualizzare le metriche Istio nell'area di lavoro Monitoraggio di Azure:
Nel portale di Azure, vai al tuo cluster AKS.
In Monitoraggio, selezionare Approfondimenti>Impostazioni del Monitor.
Seleziona l'istanza dell'area di lavoro di Azure Monitor. Nella pagina di panoramica dell'istanza selezionare la sezione Metriche per eseguire query sulle metriche per istio_requests_total.
In alternativa, è possibile selezionare l'istanza di Grafana gestita di Azure. Nella pagina di panoramica dell'istanza selezionare quindi l'URL dell'endpoint. Questa azione apre il portale di Grafana, in cui è possibile eseguire query sulle metriche di Archiviazione azure Container. L'origine dati viene configurata automaticamente per eseguire query sulle metriche dall'area di lavoro di Monitoraggio di Azure associata.
Per altre informazioni sull'esecuzione di query sulle metriche di Prometheus da un'area di lavoro di Azure Monitor, vedere Connettere Grafana alle metriche di Prometheus di Azure Monitor.
Importare i dashboard di Grafana per Istio
Per importare i dashboard Grafana seguenti usando l'ID o JSON, seguire le istruzioni in Importare un dashboard in Grafana:
Riassunto
Questo articolo ha illustrato come configurare il servizio gestito per Prometheus per la raccolta di metriche dal componente aggiuntivo Service Mesh basato su Istio. È stato quindi illustrato come eseguire query sulle metriche raccolte in Monitoraggio di Azure.
Seguendo la procedura descritta in questo articolo, è possibile monitorare In modo efficace Istio usando il servizio gestito per Prometheus in Azure. Questo monitoraggio consente di ottenere informazioni dettagliate preziose sulle prestazioni e sul comportamento delle applicazioni.
Risoluzione dei Problemi
In caso di problemi, vedere le informazioni sulla risoluzione dei problemi per l'interfaccia Prometheus.