Configurare l'osservabilità di rete per il servizio Azure Kubernetes - Prometheus e Grafana gestiti da Azure
L'osservabilità di rete (Network Observability) per il servizio Azure Kubernetes viene usata per raccogliere i dati del traffico di rete del cluster del servizio Azure Kubernetes. Osservabilità di rete (Network Observability) consente una piattaforma centralizzata per il monitoraggio dell'integrità delle applicazioni e della rete. Prometheus raccoglie le metriche di osservabilità della rete del servizio Azure Kubernetes e Grafana le visualizza. Sono supportati sia il piano dati Cilium che il piano dati non Cilium. Questo articolo illustra come abilitare il componente aggiuntivo Network Observability e usare Prometheus gestito di Azure e Grafana per visualizzare le metriche raschiate.
Per altre informazioni sull'osservabilità di rete del servizio Azure Kubernetes, vedere Che cos'è l'osservabilità di rete del servizio Azure Kubernetes?.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- La versione minima dell'interfaccia della riga di comando di Azure necessaria per i passaggi descritti in questo articolo è 2.44.0. Eseguire
az --version
per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
Creare cluster
Nota
Per la versione Kubernetes >= 1.29, l’osservabilità di rete è inclusa nei cluster con Prometheus gestito da Azure. Lo scorporo delle metriche viene definito tramite il profilo delle metriche AMA.
Nel caso di versioni inferiori di Kubernetes, sono necessari ulteriori passaggi per abilitare l’osservabilità di rete.
Creare un gruppo di risorse
Un gruppo di risorse è un contenitore logico in cui vengono distribuite e gestite le risorse di Azure. Creare un gruppo di risorse con il comando az group create. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:
az group create \
--name myResourceGroup \
--location eastus
Creare un cluster del servizio Azure Container
Creare un cluster servizio Azure Kubernetes con az aks create. Ciascuno degli esempi seguenti crea un cluster del servizio Azure Kubernetes denominato myAKSCluster nel gruppo di risorse denominato myResourceGroup.
Esempio 1: non Cilium
Usare az aks create nell'esempio seguente per creare un cluster del servizio Azure Kubernetes non Cilium.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--location eastus \
--generate-ssh-keys \
--network-plugin azure \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16 \
--kubernetes-version 1.29
Esempio 2: Cilium
Usare az aks create nell'esempio seguente per creare un cluster del servizio Azure Kubernetes Cilium.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--generate-ssh-keys \
--location eastus \
--max-pods 250 \
--network-plugin azure \
--network-plugin-mode overlay \
--network-dataplane cilium \
--node-count 2 \
--pod-cidr 192.168.0.0/16
Prometheus gestito di Azure e Grafana
Usare l'esempio seguente per installare e abilitare Prometheus e Grafana per il cluster del servizio Azure Kubernetes.
Creare una risorsa di Monitoraggio di Azure
az resource create \
--resource-group myResourceGroup \
--namespace microsoft.monitor \
--resource-type accounts \
--name myAzureMonitor \
--location eastus \
--properties '{}'
Creare un'istanza di Grafana
Usare az grafana create per creare un'istanza di Grafana. Il nome dell'istanza di Grafana deve essere univoco. Sostituire myGrafana con un nome univoco per l'istanza di Grafana.
az grafana create \
--name myGrafana \
--resource-group myResourceGroup
Inserire gli ID risorsa Grafana e Monitoraggio di Azure nelle variabili
Usare az grafana show per inserire l'ID risorsa Grafana in una variabile. Usare az resource show per inserire l'ID risorsa di Monitoraggio di Azure in una variabile. Sostituire myGrafana con il nome dell'istanza di Grafana.
grafanaId=$(az grafana show \
--name myGrafana \
--resource-group myResourceGroup \
--query id \
--output tsv)
azuremonitorId=$(az resource show \
--resource-group myResourceGroup \
--name myAzureMonitor \
--resource-type "Microsoft.Monitor/accounts" \
--query id \
--output tsv)
Collegare Monitoraggio di Azure e Grafana al cluster del servizio Azure Kubernetes
Usare az aks update per collegare le risorse di Monitoraggio di Azure e Grafana al cluster del servizio Azure Kubernetes.
az aks update \
--name myAKSCluster \
--resource-group myResourceGroup \
--enable-azure-monitor-metrics \
--azure-monitor-workspace-resource-id $azuremonitorId \
--grafana-resource-id $grafanaId
Ottenere le credenziali del cluster
az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Visualizzare con Grafana
Nota
La sezione seguente richiede distribuzioni di Prometheus e Grafana gestite di Azure.
Usare l'esempio seguente per verificare che i pod di Monitoraggio di Azure siano in esecuzione.
kubectl get po -owide -n kube-system | grep ama-
ama-metrics-5bc6c6d948-zkgc9 2/2 Running 0 (21h ago) 26h ama-metrics-ksm-556d86b5dc-2ndkv 1/1 Running 0 (26h ago) 26h ama-metrics-node-lbwcj 2/2 Running 0 (21h ago) 26h ama-metrics-node-rzkzn 2/2 Running 0 (21h ago) 26h ama-metrics-win-node-gqnkw 2/2 Running 0 (26h ago) 26h ama-metrics-win-node-tkrm8 2/2 Running 0 (26h ago) 26h
Passare all'istanza di Grafana in un Web browser.
È stato creato un dashboard di esempio. È disponibile in Dashboard > Prometheus gestito da Azure > Kubernetes/Networking/Clusters.
Controllare se le metriche nel dashboard Grafana Kubernetes / Rete / Cluster sono visibili. Se le metriche non vengono visualizzate, modificare l'intervallo di tempo degli ultimi 15 minuti nella casella di riepilogo a discesa in alto a destra.
Pulire le risorse
Se non si intende continuare a usare questa applicazione, eliminare il cluster del servizio Azure Kubernetes e le altre risorse create in questo articolo con l'esempio seguente:
az group delete \
--name myResourceGroup
Passaggi successivi
In questo articolo di procedura si è appreso come configurare l'osservabilità della rete del servizio Azure Kubernetes per il cluster del servizio Azure Kubernetes.
Per altre informazioni sull'osservabilità di rete del servizio Azure Kubernetes, vedere Che cos'è l'osservabilità di rete del servizio Azure Kubernetes?.
Se si è interessati a una maggiore granularità dell'osservabilità della rete e ad altre funzionalità avanzate, vedere Che cosa sono i servizi avanzati di rete per contenitori per il servizio Azure Kubernetes?.
Azure Kubernetes Service