Condividi tramite


Procedure consigliate per il monitoraggio di Kubernetes con Monitoraggio di Azure

Questo articolo illustra le procedure consigliate per monitorare l'integrità e le prestazioni del servizio Azure Kubernetes e del cluster Kubernetes abilitato 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 scorporo 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 scorporo delle metriche Prometheus per il cluster. Abilitare Prometheus nel cluster con Servizio gestito di Monitoraggio di Azure per Prometheus se non si ha già un ambiente Prometheus. Usare Grafana con gestione Azure per analizzare i dati di Prometheus raccolti. Vedere Personalizzare lo scarto delle metriche Prometheus nel servizio gestito di Monitoraggio di Azure per Prometheus per raccogliere metriche aggiuntive oltre alla 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 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 per la 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. Le informazioni dettagliate sui contenitori si basano 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 abbiano accesso 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. 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 certificato.
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 connessioni agli endpoint pubblici sono protette tramite crittografia end-to-end. Se è necessario un endpoint privato, è possibile usare un 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.

Vedere Abilitare il collegamento privato per il monitoraggio di Kubernetes in Monitoraggio di Azure per informazioni dettagliate sulla configurazione del cluster per il collegamento privato. Per informazioni dettagliate sull'esecuzione di query sui dati tramite collegamento privato, vedere Usare endpoint privati per l'area di lavoro gestita di Prometheus e 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 NSG di Azure Network Watcher 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 fornisce 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. Le informazioni dettagliate sui contenitori si basano 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 riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. È possibile abbattere i costi per Monitoraggio di Azure in modo significativo analizzando le diverse opzioni di configurazione e le opportunità che consentono di ridurre la quantità di dati raccolti. Vedere Costi e utilizzo di Monitoraggio di Azure per comprendere i diversi modi in cui Monitoraggio di Azure effettua 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

  • Abilitare la raccolta di metriche tramite il servizio gestito di Monitoraggio di Azure per Prometheus.
  • Configurare la raccolta di agenti per modificare la raccolta dei dati in Informazioni dettagliate sui contenitori.
  • Modificare le impostazioni per la raccolta dei dati sulle metriche in base a Informazioni dettagliate sui contenitori.
  • Disabilitare la raccolta di dati sulle metriche da parte di Informazioni dettagliate sui contenitori se non si usa tale strumento nel portale di Azure.
  • Se non si esegue regolarmente una query sulla tabella dei log del contenitore o la si usa per gli avvisi, configurarla come log di base.
  • Limitare la raccolta dei log della risorsa 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
Abilitare la raccolta di metriche tramite il servizio gestito di Monitoraggio di Azure per Prometheus. Assicurarsi di non inviare anche le metriche di Prometheus a un'area di lavoro Log Analytics. È possibile usare il servizio gestito per Prometheus di Monitoraggio di Azure per lo scorporo delle metriche di Prometheus dal cluster abilitando Prometheus gestito. Si noti che è possibile configurare Informazioni dettagliate sui contenitori per raccogliere le metriche di Prometheus nell'area di lavoro Log Analytics, sebbene non sia consigliabile in quanto i dati di Prometheus gestito sono ridondanti e comportano costi aggiuntivi. Per informazioni dettagliate, vedere Prezzi di Prometheus gestito.
Configurare l'agente per modificare la raccolta dati in Informazioni dettagliate sui contenitori. Analizzare i dati raccolti da Informazioni dettagliate contenitore come descritto in Ottimizzare i costi di monitoraggio per le informazioni dettagliate sui contenitori e modificare la configurazione per interrompere la raccolta dei dati non necessari.
Modificare le impostazioni per la raccolta dei dati sulle metriche in base a Informazioni dettagliate sui contenitori. 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 dati sulle metriche da parte di Informazioni dettagliate sui contenitori se non si usa tale strumento nel portale di Azure. Informazioni dettagliate sui contenitori raccoglie in gran parte gli stessi valori delle metriche di Prometheus gestito. È possibile disabilitare la raccolta di tali metriche configurando Informazioni dettagliate sui contenitori in modo che raccolga solo Log ed eventi, come descritto in Abilitare le impostazioni di ottimizzazione dei costi in Informazioni dettagliate sui contenitori. Questa configurazione disabilita l'esperienza di Informazioni dettagliate sui contenitori nel portale di Azure. È tuttavia possibile usare Grafana per visualizzare le metriche di Prometheus e Log Analytics in modo da analizzare i dati di log raccolti da Informazioni dettagliate sui contenitori.
Se non si esegue regolarmente una query sulla tabella dei log del contenitore o la si usa per gli avvisi, configurarla come log di base. Convertire lo schema di Informazioni dettagliate contenitore in ContainerLogV2, che è compatibile con i log di base e può offrire risparmi significativi sui costi come descritto in Ottimizzare i costi di monitoraggio per le informazioni dettagliate sui contenitori.
Limitare la raccolta dei log della risorsa 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à di diagnostica di Azure o la modalità specifica della risorsa per i log della risorsa. Specificare i log della risorsa per abilitare l'opzione di configurazione delle tabelle per i log di base, che offrono un addebito ridotto per l'ingestione dei log di cui si esegue una query solo occasionalmente e che non vengono usati per gli avvisi.
Usare OpenCost per raccogliere informazioni dettagliate sui costi di Kubernetes. OpenCost è un progetto sandbox CNCF open-source e indipendente dal fornitore che consente di comprendere i costi di Kubernetes e di supportare la possibilità di ottenere la visibilità dei costi del servizio Azure Kubernetes. Esporta dati dettagliati sui costi, oltre ai prezzi di Azure specifici per il cliente, in Archiviazione di Azure per consentire all'amministratore del cluster di analizzare e categorizzare 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, tra cui 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. 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 dispone di 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 contenute 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 dei dati e le metriche di Prometheus, Informazioni dettagliate contenitore e Impostazioni di diagnostica. In questo modo, tutti i nuovi cluster vengono monitorati automaticamente e applicano la propria 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 Servizio gestito di Monitoraggio di Azure per Prometheus se non si ha già un ambiente Prometheus. Usare Grafana con gestione Azure per analizzare i dati di Prometheus raccolti.

Vedere Personalizzare lo scarto delle metriche Prometheus nel servizio gestito di Monitoraggio di Azure per Prometheus per raccogliere metriche aggiuntive oltre alla configurazione predefinita.
Abilitare Informazioni dettagliate sui contenitori per tenere traccia delle prestazioni del cluster. Quando si abilita le informazioni dettagliate sui contenitori per il cluster Kubernetes, è possibile usare viste 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 per la ricerca log usando i dati raccolti da Informazioni dettagliate sui contenitori.

Passaggio successivo