Share via


Configurazione dell'osservabilità di rete per il servizio Azure Kubernetes - Prometheus gestito da Azure e Grafana

Il servizio Azure Kubernetes Network Observability viene usato per raccogliere i dati del traffico di rete del cluster del servizio Azure Kubernetes. 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.

Importante

L'osservabilità della rete del servizio Azure Kubernetes è attualmente disponibile in ANTEPRIMA. Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.

Per altre informazioni sull'osservabilità della rete del servizio Azure Kubernetes, vedere Che cos'è l'osservabilità della rete del servizio Azure Kubernetes?.

Prerequisiti

  • 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.

Installare l'estensione aks-preview dell'interfaccia della riga di comando di Azure.

Importante

Le funzionalità di anteprima del servizio Azure Kubernetes sono disponibili in modalità self-service e opzionale. Le anteprime vengono fornite “così come sono” e ”come disponibili” e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime del servizio Azure Kubernetes sono parzialmente coperte dal supporto clienti con la massima diligenza possibile. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:

# Install the aks-preview extension
az extension add --name aks-preview

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

Registrare il flag di funzionalità NetworkObservabilityPreview

az feature register --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

Usare az feature show per controllare lo stato di registrazione del flag di funzionalità:

az feature show --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

Attendere che la funzionalità sia registrata prima dell'articolo.

{
  "id": "/subscriptions/23250d6d-28f0-41dd-9776-61fc80805b6e/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/NetworkObservabilityPreview",
  "name": "Microsoft.ContainerService/NetworkObservabilityPreview",
  "properties": {
    "state": "Registering"
  },
  "type": "Microsoft.Features/providers/features"
}

Quando la funzionalità viene registrata, aggiornare la registrazione del provider di risorse Microsoft.ContainerService con az provider register:

az provider register -n Microsoft.ContainerService

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. L'esempio seguente crea un cluster del servizio Azure Kubernetes denominato myAKSCluster nel gruppo di risorse denominato myResourceGroup:

I cluster non Cilium supportano l'abilitazione di Network Observability in un cluster esistente o durante la creazione di un nuovo cluster.

Usare az aks create nell'esempio seguente per creare un cluster del servizio Azure Kubernetes con Network Observability e non Cilium.

Nuovo cluster

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 \
    --enable-network-observability

Cluster esistente

Usare az aks update per abilitare Network Observability per un cluster esistente.

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --enable-network-observability 

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)

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

Abilitare la visualizzazione in Grafana

Nota

La sezione seguente richiede distribuzioni di Prometheus e Grafana gestite di Azure.

  1. 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
    
  2. Selezionare Dashboard nel menu di spostamento a sinistra, aprire il dashboard Kubernetes/Networking nella cartella Gestita Prometheus.

  3. Controllare se le metriche nel dashboard Grafana Kubernetes/Rete 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 installare e abilitare l'osservabilità della rete del servizio Azure Kubernetes per il cluster del servizio Azure Kubernetes.