Configurazione dell'osservabilità di rete per il servizio Azure Kubernetes - BYO Prometheus e Grafana
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 BYO Prometheus e Grafana per visualizzare le metriche scorporate.
Importante
L'osservabilità di 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à 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.
Installazioni di BYO Prometheus e Grafana.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per 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, installare l'estensione dell'interfaccia della riga di comando di Azure al primo utilizzo. 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.
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 del servizio Azure Kubernetes con comando 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.
Nuovo cluster
Usare az aks create nell'esempio seguente per creare un cluster del servizio Azure Kubernetes con Network Observability e 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 \
--enable-network-observability
Cluster esistente
Usare az aks update per abilitare Network Observability in un cluster esistente.
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--enable-network-observability
Ottenere le credenziali del cluster
az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Abilitare la visualizzazione in Grafana
Usare l'esempio seguente per configurare i processi di scrape (scorporamento) in Prometheus e abilitare la visualizzazione in Grafana per il cluster del servizio Azure Kubernetes.
Nota
La sezione seguente richiede installazioni di Prometheus e Grafana.
Aggiungere il processo di scrape (scorporamento) seguente alla configurazione prometheus esistente e riavviare il server Prometheus:
scrape_configs: - job_name: "network-obs-pods" kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_container_name] action: keep regex: kappie(.*) - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] separator: ":" regex: ([^:]+)(?::\d+)? target_label: __address__ replacement: ${1}:${2} action: replace - source_labels: [__meta_kubernetes_pod_node_name] action: replace target_label: instance metric_relabel_configs: - source_labels: [__name__] action: keep regex: (.*)
In Destinazioni di Prometheus verificare che i network-obs-pods siano presenti.
Accedere a Grafana e importare il dashboard Network Observability con ID 18814.
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.
Per altre informazioni sull'osservabilità di rete del servizio Azure Kubernetes, vedere Che cos'è l'osservabilità di rete del servizio Azure Kubernetes?.
Per creare un cluster del servizio Azure Kubernetes con Network Observability e Prometheus gestito di Azure e Grafana, vedere Configurare l'osservabilità di rete per il servizio Azure Kubernetes gestito da Azure Prometheus e Grafana.