Procedure consigliate per il monitoraggio di Kubernetes con Monitoraggio di Azure

Questo articolo fornisce le procedure consigliate per il monitoraggio dell'integrità e delle prestazioni dei cluster Kubernetes servizio Azure Kubernetes e kubernetes abilitati per Azure Arc. Le linee guida si basano sui cinque pilastri dell'eccellenza dell'architettura descritti in Azure Well-Architected Framework.

Affidabilità

Nel cloud si riconosce che gli errori possono verificarsi. Invece di provare a evitare completamente gli errori, l'obiettivo deve essere quello di ridurre al minimo gli effetti di un singolo componente in errore. Usare le informazioni seguenti per sfruttare al meglio Monitoraggio di Azure per garantire l'affidabilità dei cluster Kubernetes e dell'ambiente di monitoraggio.

Elenco di controllo della progettazione

  • Abilitare lo scraping delle metriche prometheus per il cluster.
  • Abilitare Informazioni dettagliate sui contenitori per la raccolta di log e dati sulle prestazioni dal cluster.
  • Creare impostazioni di diagnostica per raccogliere i log del piano di controllo per i cluster del servizio Azure Kubernetes.
  • Abilitare gli avvisi di Prometheus consigliati.
  • Verificare la disponibilità dell'area di lavoro Log Analytics che supporta Informazioni dettagliate sui contenitori.

Raccomandazioni per la configurazione

Elemento consigliato Vantaggio
Abilitare lo scraping delle metriche prometheus per il cluster. Abilitare Prometheus nel cluster con il servizio gestito di Monitoraggio di Azure per Prometheus se non si ha già un ambiente Prometheus. Usare Grafana gestito di Azure per analizzare i dati di Prometheus raccolti. Vedere Personalizzare lo scarto delle metriche di Prometheus nel servizio gestito di Monitoraggio di Azure per Prometheus per raccogliere metriche aggiuntive oltre la configurazione predefinita.
Abilitare Informazioni dettagliate sui contenitori per la raccolta di log e dati sulle prestazioni dal cluster. Informazioni dettagliate sui contenitori raccoglie i log stdout/stderr, le metriche delle prestazioni e gli eventi Kubernetes da ogni nodo del cluster. Fornisce dashboard e report per l'analisi di questi dati, inclusa la disponibilità dei nodi e di altri componenti. Usare Log Analytics per identificare eventuali errori di disponibilità nei log raccolti.
Creare impostazioni di diagnostica per raccogliere i log del piano di controllo per i cluster del servizio Azure Kubernetes. Il servizio Azure Kubernetes implementa i log dei piani di controllo come log delle risorse in Monitoraggio di Azure. Creare un'impostazione di diagnostica per inviare questi log all'area di lavoro Log Analytics in modo da poter usare le query di log per identificare gli errori e i problemi che interessano la disponibilità.
Abilitare gli avvisi di Prometheus consigliati. Gli avvisi in Monitoraggio di Azure notificano in modo proattivo quando vengono rilevati problemi. Iniziare con un set di regole di avviso prometheus consigliate che rilevano i problemi di disponibilità e prestazioni più comuni con il cluster. Aggiungere potenzialmente avvisi di ricerca log usando i dati raccolti da Informazioni dettagliate sui contenitori.
Verificare la disponibilità dell'area di lavoro Log Analytics che supporta Informazioni dettagliate sui contenitori. Informazioni dettagliate sui contenitori si basa su un'area di lavoro Log Analytics. Vedere Procedure consigliate per i log di Monitoraggio di Azure per consigli per garantire l'affidabilità dell'area di lavoro.

Sicurezza

La sicurezza è uno degli aspetti essenziali di qualsiasi architettura. Monitoraggio di Azure offre funzionalità che usano sia il principio dei privilegi minimi che la difesa avanzata. Usare le informazioni seguenti per monitorare i cluster Kubernetes e assicurarsi che solo gli utenti autorizzati accingano ai dati raccolti.

Elenco di controllo della progettazione

  • Usare l'autenticazione dell'identità gestita per il cluster per connettersi a Informazioni dettagliate sui contenitori.
  • Prendere in considerazione l'uso del collegamento privato di Azure per il cluster per connettersi all'area di lavoro di Monitoraggio di Azure usando un endpoint privato.
  • Usare Analisi del traffico per monitorare il traffico di rete da e verso il cluster.
  • Abilitare l'osservabilità della rete.
  • Verificare la sicurezza dell'area di lavoro Log Analytics che supporta informazioni dettagliate sui contenitori.

Raccomandazioni per la configurazione

Elemento consigliato Vantaggio
Usare l'autenticazione dell'identità gestita per il cluster per connettersi a Informazioni dettagliate sui contenitori. L'autenticazione dell'identità gestita è l'impostazione predefinita per i nuovi cluster. Se si usa l'autenticazione legacy, è necessario eseguire la migrazione all'identità gestita per rimuovere l'autenticazione locale basata su certificati.
Prendere in considerazione l'uso del collegamento privato di Azure per il cluster per connettersi all'area di lavoro di Monitoraggio di Azure usando un endpoint privato. Il servizio gestito di Azure per Prometheus archivia i dati in un'area di lavoro di Monitoraggio di Azure che usa un endpoint pubblico per impostazione predefinita. le Connessione agli endpoint pubblici sono protette con la crittografia end-to-end. Se è necessario un endpoint privato, è possibile usare il collegamento privato di Azure per consentire al cluster di connettersi all'area di lavoro tramite reti private autorizzate. È anche possibile usare un collegamento privato per forzare l'inserimento dei dati dell'area di lavoro tramite ExpressRoute o una VPN.

Per informazioni dettagliate sulla configurazione del cluster per il collegamento privato, vedere collegamento privato per l'inserimento dati per Prometheus gestito e l'area di lavoro di Monitoraggio di Azure. Per informazioni dettagliate sull'esecuzione di query sui dati tramite collegamento privato, vedere Usare gli endpoint privati per Prometheus gestito e l'area di lavoro di Monitoraggio di Azure.
Usare Analisi del traffico per monitorare il traffico di rete da e verso il cluster. Analisi del traffico analizza i log dei flussi del gruppo di sicurezza di rete di Network Watcher di Azure per fornire informazioni dettagliate sul flusso del traffico nel cloud di Azure. Usare questo strumento per assicurarsi che non sia presente alcuna esfiltrazione di dati per il cluster e per rilevare se sono esposti indirizzi IP pubblici non necessari.
Abilitare l'osservabilità della rete. Il componente aggiuntivo per l'osservabilità della rete per il servizio Azure Kubernetes offre l'osservabilità tra più livelli nello stack di rete Kubernetes. monitorare e osservare l'accesso tra i servizi nel cluster (traffico east-west).
Verificare la sicurezza dell'area di lavoro Log Analytics che supporta informazioni dettagliate sui contenitori. Informazioni dettagliate sui contenitori si basa su un'area di lavoro Log Analytics. Vedere Procedure consigliate per i log di Monitoraggio di Azure per consigli per garantire la sicurezza dell'area di lavoro.

Ottimizzazione dei costi

L'ottimizzazione dei costi si riferisce a modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. È possibile ridurre significativamente i costi per Monitoraggio di Azure comprendendo le diverse opzioni di configurazione e le opportunità per ridurre la quantità di dati raccolti. Vedere Costi e utilizzo di Monitoraggio di Azure per comprendere i diversi modi in cui Monitoraggio di Azure addebita gli addebiti e come visualizzare la fattura mensile.

Nota

Vedere Ottimizzare i costi in Monitoraggio di Azure per consigli sull'ottimizzazione dei costi in tutte le funzionalità di Monitoraggio di Azure.

Elenco di controllo della progettazione

  • Non abilitare la raccolta di informazioni dettagliate sui contenitori delle metriche di Prometheus.
  • Configurare la raccolta di agenti per modificare la raccolta dei dati in Informazioni dettagliate contenitore.
  • Modificare le impostazioni per la raccolta dei dati delle metriche in base a Informazioni dettagliate contenitore.
  • Disabilitare la raccolta di informazioni dettagliate sui contenitori dei dati delle metriche se non si usa l'esperienza Informazioni dettagliate sui contenitori nella portale di Azure.
  • Se non si esegue regolarmente query sulla tabella dei log dei contenitori o la si usa per gli avvisi, configurarla come log di base.
  • Limitare la raccolta dei log delle risorse non necessari.
  • Usare la registrazione specifica delle risorse per i log delle risorse del servizio Azure Kubernetes e configurare le tabelle come log di base.
  • Usare OpenCost per raccogliere informazioni dettagliate sui costi di Kubernetes.

Raccomandazioni per la configurazione

Elemento consigliato Vantaggio
Non abilitare la raccolta di informazioni dettagliate sui contenitori delle metriche di Prometheus nell'area di lavoro Log Analytics se è stato abilitato lo scraping delle metriche con Prometheus. Oltre a raschiare le metriche di Prometheus dal cluster usando il servizio gestito di Monitoraggio di Azure per Prometheus, è possibile configurare informazioni dettagliate sui contenitori per raccogliere le metriche di Prometheus nell'area di lavoro Log Analytics. Questa operazione è ridondante con i dati in Managed Prometheus e comporterà costi aggiuntivi.
Configurare l'agente per modificare la raccolta dati in Informazioni dettagliate contenitore. Analizzare i dati raccolti da Informazioni dettagliate sui contenitori come descritto in Controllo dell'inserimento per ridurre i costi e modificare la configurazione per arrestare la raccolta di dati non necessari.
Modificare le impostazioni per la raccolta dei dati delle metriche in base a Informazioni dettagliate contenitore. Per informazioni dettagliate sulla modifica della frequenza di raccolta dei dati delle metriche e sugli spazi dei nomi raccolti da Informazioni dettagliate sui contenitori, vedere Abilitare le impostazioni di ottimizzazione dei costi.
Disabilitare la raccolta di informazioni dettagliate sui contenitori dei dati delle metriche se non si usa l'esperienza Informazioni dettagliate sui contenitori nella portale di Azure. Informazioni dettagliate sui contenitori raccoglie molti degli stessi valori delle metriche di Managed Prometheus. È possibile disabilitare la raccolta di queste metriche configurando Informazioni dettagliate sui contenitori per raccogliere solo log ed eventi , come descritto in Abilitare le impostazioni di ottimizzazione dei costi in Informazioni dettagliate sui contenitori. Questa configurazione disabilita l'esperienza informazioni dettagliate sui contenitori nella portale di Azure, ma è possibile usare Grafana per visualizzare le metriche di Prometheus e Log Analytics per analizzare i dati di log raccolti da Informazioni dettagliate sui contenitori.
Se non si esegue regolarmente query sulla tabella dei log dei contenitori o la si usa per gli avvisi, configurarla come log di base. Convertire lo schema di Informazioni dettagliate contenitore in ContainerLogV2 compatibile con i log di base e può offrire risparmi significativi sui costi, come descritto in Controllo dell'inserimento per ridurre i costi.
Limitare la raccolta dei log delle risorse non necessari. I log del piano di controllo per i cluster del servizio Azure Kubernetes vengono implementati come log delle risorse in Monitoraggio di Azure. Creare un'impostazione di diagnostica per inviare questi dati a un'area di lavoro Log Analytics. Per indicazioni sulle categorie da raccogliere, vedere Raccogliere i log del piano di controllo per i cluster del servizio Azure Kubernetes .
Usare la registrazione specifica delle risorse per i log delle risorse del servizio Azure Kubernetes e configurare le tabelle come log di base. Il servizio Azure Kubernetes supporta la modalità diagnostica di Azure o la modalità specifica della risorsa per i log delle risorse. Specificare i log delle risorse per abilitare l'opzione per configurare le tabelle per i log di base, che offrono un addebito ridotto per l'inserimento per i log che vengono caricati solo occasionalmente e non vengono usati per gli avvisi.
Usare OpenCost per raccogliere informazioni dettagliate sui costi di Kubernetes. OpenCost è un progetto sandbox KUF open source indipendente dal fornitore per comprendere i costi di Kubernetes e supportare la possibilità di ottenere visibilità sui costi del servizio Azure Kubernetes. Esporta dati dettagliati sui costi oltre ai prezzi specifici del cliente in Archiviazione di Azure per aiutare l'amministratore del cluster ad analizzare e classificare i costi.

Eccellenza operativa

L'eccellenza operativa si riferisce ai processi operativi necessari per mantenere un servizio in esecuzione in modo affidabile nell'ambiente di produzione. Usare le informazioni seguenti per ridurre al minimo i requisiti operativi per il monitoraggio dei cluster Kubernetes.

Elenco di controllo della progettazione

  • Esaminare le indicazioni per il monitoraggio di tutti i livelli dell'ambiente Kubernetes.
  • Usare Kubernetes abilitato per Azure Arc per monitorare i cluster all'esterno di Azure.
  • Usare i servizi gestiti di Azure per gli strumenti nativi del cloud.
  • Integrare i cluster del servizio Azure Kubernetes agli strumenti di monitoraggio esistenti.
  • Usare Criteri di Azure per abilitare la raccolta dati dal cluster Kubernetes.

Raccomandazioni per la configurazione

Elemento consigliato Vantaggio
Esaminare le indicazioni per il monitoraggio di tutti i livelli dell'ambiente Kubernetes. Monitorare le prestazioni del cluster Kubernetes con Informazioni dettagliate sui contenitori include indicazioni e procedure consigliate per il monitoraggio dell'intero ambiente Kubernetes dai livelli di rete, cluster e applicazione.
Usare Kubernetes abilitato per Azure Arc per monitorare i cluster all'esterno di Azure. Kubernetes abilitato per Azure Arc consente di monitorare i cluster Kubernetes in esecuzione in altri cloud usando gli stessi strumenti dei cluster del servizio Azure Kubernetes , inclusi informazioni dettagliate sui contenitori e il servizio gestito di Monitoraggio di Azure per Prometheus.
Usare i servizi gestiti di Azure per gli strumenti nativi del cloud. Il servizio gestito di Monitoraggio di Azure per Prometheus e Grafana gestito di Azure supporta tutte le funzionalità degli strumenti nativi del cloud Prometheus e Grafana senza dover gestire l'infrastruttura sottostante. È possibile effettuare rapidamente il provisioning di questi strumenti ed eseguire l'onboarding dei cluster Kubernetes con un sovraccarico minimo. Questi servizi consentono di accedere a una vasta libreria di regole e dashboard della community per monitorare l'ambiente Kubernetes.
Integrare i cluster del servizio Azure Kubernetes agli strumenti di monitoraggio esistenti. Se si ha un investimento esistente in Prometheus e Grafana, integrare i cluster del servizio Azure Kubernetes e i servizi gestiti di Azure nell'ambiente esistente usando le indicazioni disponibili in Monitorare i cluster Kubernetes usando i servizi di Azure e gli strumenti nativi del cloud.
Usare Criteri di Azure per abilitare la raccolta dati dal cluster Kubernetes. Usare Criteri di Azure per abilitare la raccolta dati per abilitare le metriche prometheus, le informazioni dettagliate sui contenitori e le impostazioni di diagnostica. In questo modo, tutti i nuovi cluster vengono monitorati automaticamente e ne applicano la configurazione di monitoraggio.

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Usare le informazioni seguenti per monitorare le prestazioni dei cluster Kubernetes e assicurarsi che siano configurati per ottenere prestazioni massime.

Elenco di controllo della progettazione

  • Abilitare la raccolta di metriche di Prometheus per il cluster.
  • Abilitare Informazioni dettagliate sui contenitori per tenere traccia delle prestazioni del cluster.
  • Abilitare gli avvisi di Prometheus consigliati.

Raccomandazioni per la configurazione

Elemento consigliato Vantaggio
Abilitare la raccolta di metriche di Prometheus per il cluster. Prometheus è una soluzione di metriche nativa del cloud di Cloud Native Compute Foundation e lo strumento più comune usato per raccogliere e analizzare i dati delle metriche dai cluster Kubernetes. Abilitare Prometheus nel cluster con il servizio gestito di Monitoraggio di Azure per Prometheus se non si ha già un ambiente Prometheus. Usare Grafana gestito di Azure per analizzare i dati di Prometheus raccolti.

Vedere Personalizzare lo scarto delle metriche di Prometheus nel servizio gestito di Monitoraggio di Azure per Prometheus per raccogliere metriche aggiuntive oltre la configurazione predefinita.
Abilitare Informazioni dettagliate sui contenitori per tenere traccia delle prestazioni del cluster. Quando si abilitano informazioni dettagliate sui contenitori per il cluster Kubernetes, è possibile usare visualizzazioni e cartelle di lavoro per tenere traccia delle prestazioni dei componenti del cluster. Questi dati possono sovrapporsi ai dati raccolti da Prometheus. Per informazioni sui costi, vedere Ottimizzazione dei costi.
Abilitare gli avvisi di Prometheus consigliati. Gli avvisi in Monitoraggio di Azure notificano in modo proattivo quando vengono rilevati problemi. Iniziare con un set di regole di avviso prometheus consigliate che rilevano i problemi di disponibilità e prestazioni più comuni con il cluster. Aggiungere potenzialmente avvisi di ricerca log usando i dati raccolti da Informazioni dettagliate sui contenitori.

Passaggio successivo