Condividi tramite


Che cos'è l'osservabilità della rete dei contenitori?

Container Network Observability è una funzionalità della suite Advanced Container Networking Services . Offre strumenti di monitoraggio e diagnostica di livello superiore, dando una visibilità senza precedenti sui carichi di lavoro in contenitori. Questi strumenti consentono di individuare e risolvere facilmente i problemi di rete, garantendo prestazioni ottimali per le applicazioni.

Container Network Observability è compatibile con tutti i carichi di lavoro Linux che si integrano facilmente con Hubble indipendentemente dal fatto che il piano dati sottostante sia Cilium o non Cilium (entrambi supportati) garantendo flessibilità per le esigenze di rete dei contenitori.

Diagramma dell'osservabilità della rete dei contenitori.

Nota

Per gli scenari del piano dati Cilium, Container Network Observability è disponibile a partire dalla versione 1.29 di Kubernetes. Container Network Observability è supportato in tutte le distribuzioni linux, tra cui Azure Linux a partire dalla versione 2.0.

Funzionalità dell'osservabilità della rete dei contenitori

Container Network Observability offre le funzionalità seguenti per monitorare i problemi correlati alla rete nel cluster:

  • Metriche a livello di nodo: comprendere l'integrità della rete del contenitore a livello di nodo è fondamentale per mantenere le prestazioni ottimali dell'applicazione. Queste metriche forniscono informazioni dettagliate su volume del traffico, pacchetti eliminati, numero di connessioni e così via per ciascun nodo. Le metriche vengono archiviate in formato Prometheus e, di conseguenza, è possibile visualizzarle in Grafana.

  • Metriche Hubble (metriche DNS e a livello di pod): queste metriche Prometheus includono informazioni sui pod di origine e di destinazione, che consentono di individuare i problemi relativi alla rete a livello granulare. Le metriche riguardano il volume del traffico, i pacchetti eliminati, le reimpostazioni TCP, i flussi di pacchetti L4/L7 e così via. Esistono anche metriche DNS (attualmente solo per i piani dati non Cilium), che coprono gli errori DNS e le richieste DNS mancanti.

  • Log dei flussi Hubble: i log dei flussi offrono una visibilità approfondita dell'attività di rete del cluster. Tutte le comunicazioni da e verso i pod vengono registrate, consentendo di analizzare i problemi di connettività nel tempo. I log dei flussi consentono di rispondere a domande quali: il server ha ricevuto la richiesta del client? Qual è la latenza di round trip tra la richiesta del client e la risposta del server?

    • Interfaccia della riga di comando di Hubble: può recuperare i log dei flussi nell'intero cluster mediante filtri e formattazioni personalizzabili.

    • Interfaccia utente Hubble: intuitiva e basata su browser, per l'esplorazione dell'attività di rete del cluster. Crea un grafico di connessione al servizio basato sui log dei flussi e li visualizza per lo spazio dei nomi selezionato. Gli utenti sono responsabili del provisioning e della gestione dell'infrastruttura necessaria per eseguire l'interfaccia utente di Hubble.

Vantaggi principali dell'osservabilità della rete dei contenitori

  • Indipendente da CNI: supportata in tutte le varianti Azure CNI, incluso kubenet.

  • Cilium e non Cilium: offre un'esperienza uniforme e senza interruzioni nei piani dati Cilium e non Cilium.

  • Osservabilità della rete basata su eBPF: sfrutta eBPF (extended Berkeley Packet Filter) per ottenere prestazioni e scalabilità, in modo da identificare potenziali colli di bottiglia e problemi di congestione, prima che influiscano sulle prestazioni dell'applicazione. Consente di ottenere informazioni dettagliate sugli indicatori chiave di integrità della rete, inclusi il volume del traffico, i pacchetti eliminati e le informazioni di connessione.

  • Visibilità approfondita sull'attività di rete: permette di comprendere come le applicazioni comunicano tra loro mediante log dettagliati dei flussi di rete.

  • Opzioni semplificate di archiviazione e visualizzazione delle metriche: scegliere tra:

    • Prometheus gestito di Azure e Grafana: Azure gestisce l'infrastruttura e la manutenzione, consentendo agli utenti di concentrarsi sulla configurazione e sulla visualizzazione delle metriche.
    • Bring Your Own (BYO) di Prometheus e Grafana: gli utenti distribuiscono e configurano le proprie istanze, gestendo l'infrastruttura sottostante.

Metrica

Metriche a livello di nodo

Le metriche seguenti vengono aggregate per ciascun nodo. Tutte le metriche includono etichette:

  • cluster
  • instance (nome nodo)

Per gli scenari del piano dati Cilium, Container Network Observability fornisce metriche solo per Linux, Windows non è attualmente supportato. Cilium espone diverse metriche, tra cui le seguenti usate da Container Network Observability.

Nome misurazione Descrizione Etichette aggiuntive Linux Windows
cilium_forward_count_total Numero totale di pacchetti inoltrati direction
cilium_forward_bytes_total Totale conteggio byte inoltrati direction
cilium_drop_count_total Totale conteggio pacchetti eliminati direction, reason
cilium_drop_bytes_total Totale conteggio byte eliminati direction, reason

Metriche a livello di pod (metriche Hubble)

Le metriche seguenti vengono aggregate per ogni pod, mantenendo le informazioni sul nodo. Tutte le metriche includono etichette:

  • cluster
  • instance (nome nodo)
  • source oppure destination

Per il traffico in uscita, sarà presente un'etichetta source con spazio dei nomi/nome del pod di origine. Per il traffico in ingresso, sarà presente un'etichetta destination con spazio dei nomi/nome del pod di destinazione.

Nome misurazione Descrizione Etichette aggiuntive Linux Windows
hubble_dns_queries_total Totale richieste DNS per query source o destination, query, qtypes (tipo di query)
hubble_dns_responses_total Risposte DNS totali per query/risposta source o destination, query, qtypes (tipo di query), rcode (codice restituito), ips_returned (numero di indirizzi IP)
hubble_drop_total Totale conteggio pacchetti eliminati source o destination, protocol, reason
hubble_tcp_flags_total Numero totale di pacchetti TCP per flag. source o destination, flag
hubble_flows_processed_total Flussi di rete totali elaborati (traffico L4/L7) source o destination, protocol, verdict, type, subtype

Limiti

  • Le metriche a livello di pod sono disponibili solo in Linux.
  • Il piano dati Cilium è supportato a partire dalla versione 1.29 di Kubernetes.
  • Le etichette delle metriche possono avere differenze sottili tra i cluster Cilium e non Cilium.
  • Per i cluster basati su Cilium, le metriche DNS sono disponibili solo per i pod con criteri di rete Cilium (CNP) configurati nei cluster.
  • I log dei flussi non sono attualmente disponibili nel cloud air gapped.
  • L'inoltro hubble può arrestarsi in modo anomalo se uno degli agenti del nodo hubble diventa inattivo e può causare interruzioni dell'interfaccia della riga di comando di Hubble.

Ridimensiona

Prometheus gestito di Azure e Grafana impongono limitazioni di scalabilità specifiche del servizio. Per altre informazioni, vedere Scrape Prometheus metrics at scale in Monitoraggio di Azure.

Prezzi

Importante

Advanced Container Networking Services è un'offerta a pagamento. Per altre informazioni sui prezzi, vedere Servizi di rete dei contenitori avanzati - Prezzi.

Passaggi successivi