Gestione dei costi per Kubernetes

Gestione costi di Azure
Servizio Azure Kubernetes
Azure Managed Disks
Archiviazione di Azure
Macchine virtuali di Azure

Questa guida illustra il funzionamento della gestione dei prezzi e dei costi in servizio Azure Kubernetes (AKS) rispetto ad Amazon Elastic Kubernetes Service (Amazon EKS). L'articolo descrive come ottimizzare i costi e implementare soluzioni di governance dei costi per il cluster del servizio Azure Kubernetes.

Nota

Questo articolo fa parte di una serie di articoli che aiutano i professionisti che hanno familiarità con Amazon EKS per comprendere servizio Azure Kubernetes (servizio Azure Kubernetes).

Nozioni di base sul costo di Amazon EKS

In Amazon EKS si paga un prezzo fisso all'ora per ogni cluster Amazon EKS. Si paga anche per la rete, gli strumenti operativi e l'archiviazione usati dal cluster.

I nodi di lavoro Amazon EKS sono istanze standard di Amazon EC2, quindi comportano prezzi normali di Amazon EC2. Si paga anche per altre risorse di Amazon Web Services (AWS) di cui si effettua il provisioning per eseguire i nodi di lavoro Kubernetes.

Non sono previsti costi aggiuntivi per l'uso dei gruppi di nodi gestiti di Amazon EKS. Si paga solo per le risorse AWS di cui si effettua il provisioning, incluse le istanze amazon EC2, i volumi Amazon EBS, le ore del cluster Amazon EKS e qualsiasi altra infrastruttura AWS.

Quando si crea un gruppo di nodi gestiti, è possibile scegliere di usare il tipo di capacità istanze on demand o spot per gestire il costo dei nodi dell'agente. Amazon EKS distribuisce un gruppo di nodi gestiti con un gruppo di scalabilità automatica Amazon EC2 che contiene tutte le istanze on demand o tutte le istanze spot.

Con le istanze on demand, si paga la capacità di calcolo al secondo, senza impegni a lungo termine. Amazon EC2 Spot Instances sono di riserva amazon EC2 capacità che offre sconti rispetto ai prezzi on demand.

  • Le istanze spot di Amazon EC2 possono essere interrotte con un avviso di interruzione di due minuti quando EC2 richiede la capacità indietro.

  • Amazon fornisce Spot Fleet, un metodo per automatizzare i gruppi di istanze on demand e spot e Advisor per istanze spot per prevedere quale area o zona di disponibilità potrebbe causare interruzioni minime.

  • I prezzi delle istanze spot di AWS variano. AWS imposta il prezzo a seconda delle tendenze di domanda e offerta a lungo termine per la capacità dell'istanza spot e si paga il prezzo effettivo per il periodo di tempo in cui l'istanza è attiva.

Analisi dei costi del servizio Azure Kubernetes

Un cluster servizio Azure Kubernetes (AKS) si basa su varie risorse di Azure, ad esempio macchine virtuali, dischi virtuali, servizi di bilanciamento del carico e indirizzi IP pubblici. Queste risorse possono essere usate da più applicazioni, che possono essere gestite da team diversi all'interno di un'organizzazione. I modelli di consumo di queste risorse possono variare, con conseguente contributo variabile al costo totale delle risorse del cluster. Inoltre, alcune applicazioni possono avere footprint in più cluster, rendendo difficile l'attribuzione dei costi e la gestione.

Per gli scenari in cui un cluster contiene un singolo carico di lavoro, Gestione costi Microsoft può essere usato per misurare il consumo di risorse del cluster nel gruppo di risorse cluster. Tuttavia, alcuni scenari non sono coperti in modo nativo solo da tale soluzione, ad esempio:

  • Suddivisione granulare dell'utilizzo delle risorse, ad esempio calcolo, rete e archiviazione.
  • Distinguere tra i costi delle singole applicazioni e i costi condivisi.
  • Analisi dei costi in più cluster nello stesso ambito di sottoscrizione.

Per aumentare l'osservabilità dei costi, il servizio Azure Kubernetes è integrato con Gestione costi Microsoft per fornire drill-down dettagliati sui costi in costrutti kubernetes come cluster e spazio dei nomi. Questa integrazione abilita l'analisi dei costi nelle categorie di calcolo, rete e archiviazione di Azure.

Il componente aggiuntivo per l'analisi dei costi del servizio Azure Kubernetes è basato su OpenCost, un progetto open source per la raccolta dei dati di utilizzo. Offre visibilità dei costi riconciliando i dati con la fattura di Azure. I dati post-elaborati sono visibili direttamente nel portale di analisi dei costi di Gestione costi. Per altre informazioni, vedere servizio Azure Kubernetes'analisi dei costi.

Definizioni dei costi

Nelle visualizzazioni degli spazi dei nomi e degli asset kubernetes verranno visualizzati gli addebiti, ad esempio:

  • Addebiti per risorse inattive: rappresenta il costo della capacità di risorse disponibile che non è stata usata da alcun carico di lavoro.
  • Addebiti per i servizi: rappresenta gli addebiti associati a servizi come il contratto di servizio tempo di attività e Microsoft Defender per contenitori.
  • Addebiti di sistema: rappresenta il costo della capacità riservata dal servizio Azure Kubernetes in ogni nodo per eseguire i processi di sistema richiesti dal cluster.
  • Addebiti non allocati: rappresenta il costo delle risorse che non possono essere allocate agli spazi dei nomi.

Nozioni di base sul costo del servizio Azure Kubernetes

L'architettura kubernetes si basa su due livelli, il piano di controllo e uno o più nodi o pool di nodi. Il modello di prezzi del servizio Azure Kubernetes si basa sui due livelli di architettura kubernetes.

  • Il piano di controllo fornisce servizi Kubernetes di base, ad esempio il server API e etcd, e l'orchestrazione del carico di lavoro dell'applicazione. La piattaforma Azure gestisce il piano di controllo del servizio Azure Kubernetes e, per il livello gratuito del servizio Azure Kubernetes, il piano di controllo non ha alcun costo.

  • I nodi, detti anche nodi agente o nodi di lavoro, ospitano carichi di lavoro e applicazioni Kubernetes. Nel servizio Azure Kubernetes i clienti gestiscono e pagano tutti i costi per i nodi dell'agente.

Il diagramma seguente illustra la relazione tra il piano di controllo e i nodi in un'architettura kubernetes del servizio Azure Kubernetes.

Diagramma che mostra il piano di controllo e i nodi nell'architettura del servizio Azure Kubernetes.

Piano di controllo

Azure effettua automaticamente il provisioning e configura il livello del piano di controllo quando si crea un cluster del servizio Azure Kubernetes. Per il livello gratuito del servizio Azure Kubernetes, il piano di controllo è gratuito.

Per un contratto di servizio del piano di controllo superiore, è possibile creare un cluster del servizio Azure Kubernetes nel livello Standard. Il contratto di servizio per il tempo di attività è incluso per impostazione predefinita nel livello Standard ed è abilitato per ogni cluster. Il prezzo è di $ 0,10 per cluster all'ora. Per altre informazioni, vedere Dettagli sui prezzi del servizio Azure Kubernetes.

I cluster nel livello Standard hanno più risorse del piano di controllo, ad esempio il numero di istanze del server API, i limiti delle risorse Etcd, la scalabilità fino a 5.000 nodi e il supporto esistente del contratto di servizio per il tempo di attività con supporto finanziario. Il servizio Azure Kubernetes usa le repliche dei nodi principali tra domini di aggiornamento e di errore per soddisfare i requisiti di disponibilità.

È consigliabile usare il livello Standard nei carichi di lavoro di produzione per offrire una maggiore disponibilità dei componenti del piano di controllo. I cluster di livello gratuito hanno meno repliche e risorse del piano di controllo limitato e non sono consigliati per i carichi di lavoro di produzione.

Nodi

Nel servizio Azure Kubernetes si creano nodi agente o di lavoro in uno o più pool di nodi, che possono usare molte funzionalità di base di Azure all'interno dell'ambiente Kubernetes. Il servizio Azure Kubernetes viene addebitato solo per i nodi collegati al cluster del servizio Azure Kubernetes.

I nodi del servizio Azure Kubernetes usano diverse risorse dell'infrastruttura di Azure, tra cui set di scalabilità di macchine virtuali, reti virtuali e dischi gestiti. Ad esempio, è possibile usare la maggior parte dei tipi di macchine virtuali di Azure direttamente all'interno del servizio Azure Kubernetes. È possibile usare prenotazioni di Azure e piano di risparmio di Azure per il calcolo per ottenere sconti significativi su queste risorse.

I prezzi del cluster del servizio Azure Kubernetes si basano sulla classe, il numero e le dimensioni delle macchine virtuali nei pool di nodi. Il costo della macchina virtuale dipende dalle dimensioni, dal tipo di CPU, dal numero di vCPU, dalla memoria, dalla famiglia e dal tipo di archiviazione disponibile, ad esempio unità SSD (Solid State Drive) a prestazioni elevate o HDD standard. Per altre informazioni, vedere Serie di macchine virtuali. Pianificare le dimensioni dei nodi in base ai requisiti dell'applicazione, al numero di nodi e alle esigenze di scalabilità del cluster.

Per altre informazioni sui nodi dell'agente e sui pool di nodi, vedere l'articolo Pool di nodi in questa serie e Creare e gestire più pool di nodi per un cluster in servizio Azure Kubernetes (servizio Azure Kubernetes).

Distribuzione del cluster del servizio Azure Kubernetes

Ogni distribuzione del servizio Azure Kubernetes si estende su due gruppi di risorse di Azure.

  • Si crea il primo gruppo di risorse, che contiene solo la risorsa del servizio Kubernetes e non ha costi associati.

  • Il provider di risorse del servizio Azure Kubernetes crea automaticamente il secondo gruppo di risorse del nodo o durante la distribuzione. Il nome predefinito per questo gruppo di risorse è MC_<resourcegroupname>_<clustername>_<location>, ma è possibile specificare un altro nome. Per altre informazioni, vedere Specificare il proprio nome per il gruppo di risorse del nodo del servizio Azure Kubernetes.

    Il gruppo di risorse del nodo contiene tutte le risorse dell'infrastruttura del cluster ed è quello che mostra gli addebiti per la sottoscrizione. Le risorse includono le macchine virtuali del nodo Kubernetes, la rete virtuale, l'archiviazione e altri servizi. Il servizio Azure Kubernetes elimina automaticamente il gruppo di risorse del nodo quando il cluster viene eliminato, pertanto è consigliabile usarlo solo per le risorse che condividono il ciclo di vita del cluster.

Costi di calcolo

Si paga per le macchine virtuali di Azure in base alle dimensioni e all'utilizzo. Per informazioni sul confronto tra le risorse di calcolo di Azure e AWS, vedere Servizi di calcolo in Azure e AWS.

In genere, maggiore è la dimensione della macchina virtuale selezionata per un pool di nodi, maggiore è il costo orario per i nodi dell'agente. La serie di macchine virtuali più specializzata usata per il pool di nodi, ad esempio l'unità di elaborazione grafica (GPU) abilitata o ottimizzata per la memoria, il pool è più costoso.

Quando si esaminano i prezzi delle macchine virtuali di Azure, tenere presente quanto segue:

  • I prezzi differiscono per area e non tutti i servizi e le dimensioni delle macchine virtuali sono disponibili in ogni area.

  • Esistono più famiglie di macchine virtuali, ottimizzate per diversi tipi di carichi di lavoro.

  • I dischi gestiti usati come unità del sistema operativo vengono addebitati separatamente ed è necessario aggiungerli alle stime. Le dimensioni del disco gestito dipendono dalla classe, ad esempio HDD Standard, UNITÀ SSD Standard, SSD Premium o Archiviazione su disco Ultra. Le operazioni di input-output al secondo (IOPS) e la velocità effettiva in MB/sec dipendono dalle dimensioni e dalla classe. I dischi temporanei del sistema operativo sono gratuiti e sono inclusi nel prezzo della macchina virtuale.

  • I dischi dati, inclusi quelli creati con attestazioni di volume persistente, sono facoltativi e vengono addebitati singolarmente in base alla classe, ad esempio HDD Standard, SSD Standard, SSD Premium e Archiviazione su disco Ultra. È necessario aggiungere in modo esplicito dischi dati alle stime dei costi. Il numero di dischi dati consentiti, unità SSD di archiviazione temporanea, operazioni di I/O al secondo e velocità effettiva in MB/sec dipendono dalle dimensioni e dalla classe della macchina virtuale.

  • Maggiore è il tempo in cui i nodi dell'agente sono operativi, maggiore è il costo totale del cluster. Gli ambienti di sviluppo in genere non devono essere eseguiti in modo continuo.

  • Le interfacce di rete sono gratuite.

Costi di archiviazione

L'interfaccia CSI (Container Storage Interface) è uno standard per l'esposizione di sistemi di archiviazione di blocchi e file a carichi di lavoro in contenitori in Kubernetes. Adottando e usando CSI, il servizio Azure Kubernetes può scrivere, distribuire e scorrere plug-in che espongono sistemi di archiviazione Kubernetes senza toccare il codice Kubernetes principale o attendere i cicli di rilascio.

Se si eseguono carichi di lavoro che usano volumi persistenti CSI nel cluster del servizio Azure Kubernetes, prendere in considerazione il costo associato dell'archiviazione di cui si effettua il provisioning e l'uso. I driver di archiviazione CSI nel servizio Azure Kubernetes offrono supporto nativo per le opzioni di archiviazione seguenti:

  • Dischi di Azure crea risorse del disco dati Kubernetes. I dischi possono usare l'archiviazione Premium di Azure, supportata da unità SSD a prestazioni elevate, o l'archiviazione Standard di Azure, supportata da unità HDD o SSD standard regolari. La maggior parte dei carichi di lavoro di produzione e sviluppo usa Archiviazione Premium. I dischi di Azure vengono montati come ReadWriteOnce, che li rende disponibili per un solo nodo del servizio Azure Kubernetes. Per i volumi di archiviazione a cui possono accedere più pod contemporaneamente, usare File di Azure. Per informazioni sui costi, vedere Prezzi di Managed Disks.

  • File di Azure monta condivisioni file SMB (Server Messaging Block) 3.0/3.1 supportate da un account Archiviazione di Azure ai pod del servizio Azure Kubernetes. È possibile condividere i dati tra più nodi e pod. File di Azure può usare l'archiviazione Standard supportata da hdd normali o archiviazione Premium supportata da unità SSD a prestazioni elevate. File di Azure usa un account Archiviazione di Azure e accumula gli addebiti in base ai fattori seguenti:

    • Servizio: BLOB, file, coda, tabella o dischi non gestiti
    • Tipo di account di archiviazione: GPv1, GPv2, BLOB o BLOB Premium
    • Resilienza: archiviazione con ridondanza locale( LRS), archiviazione con ridondanza della zona (ZRS), archiviazione con ridondanza geografica (GRS) o archiviazione con ridondanza geografica e accesso in lettura (RA-GRS)
    • Livello di accesso: accesso frequente, sporadico o archivio
    • Operazioni e trasferimenti di dati
    • Capacità usata in GB
  • Azure NetApp Files è disponibile in diversi livelli di SKU e richiede una capacità minima di 4 TiB, con 1 incrementi TiB. Gli addebiti di Azure NetApp Files si basano sui fattori seguenti:

    • SKU
    • Resilienza: archiviazione con ridondanza locale, archiviazione con ridondanza della zona o archiviazione con ridondanza geografica
    • Dimensioni o capacità di cui è stato effettuato il provisioning, non la capacità usata
    • Operazioni e trasferimento dei dati
    • Backup e ripristini

Costi di rete

Diversi servizi di rete di Azure possono fornire l'accesso alle applicazioni eseguite nel servizio Azure Kubernetes:

  • Azure Load Balancer. Per impostazione predefinita, Load Balancer usa lo SKU Standard. Gli addebiti di Load Balancer sono basati su:

    • Regole: numero di regole di bilanciamento del carico e in uscita configurate. Le regole NAT (Network Address Translation) in ingresso non vengono conteggiati nel numero totale di regole.
    • Dati elaborati: la quantità di dati elaborati in ingresso e in uscita, indipendentemente dalle regole. Non è previsto alcun addebito orario per il servizio di bilanciamento del carico Standard senza regole configurate.
  • Gateway applicazione di Azure. Il servizio Azure Kubernetes usa spesso gateway applicazione tramite gateway applicazione controller di ingresso o frontando un controller di ingresso diverso con gateway applicazione gestiti manualmente. gateway applicazione supporta il routing del gateway, la terminazione TLS (Transport Layer Security) e la funzionalità web application firewall. gateway applicazione addebiti sono basati su:

    • Prezzo fisso impostato per ora o parziale.
    • Prezzo unitario della capacità, costo in base al consumo aggiunto. Ogni unità di capacità ha al massimo un'unità di calcolo, 2.500 connessioni permanenti e una velocità effettiva di 2,22 Mbps.
  • gli indirizzi IP pubblici hanno un costo associato che dipende da:

    • Associazione riservata e dinamica.
    • Livello Standard basic e protetto e con ridondanza della zona.

Costi di scalabilità orizzontale

Sono disponibili più opzioni per ridimensionare un cluster del servizio Azure Kubernetes per aggiungere capacità aggiuntiva ai pool di nodi:

  • Su richiesta, è possibile aggiornare manualmente il numero di macchine virtuali che fanno parte di un pool di nodi o aggiungere più pool di nodi.

  • Il componente di scalabilità automatica del cluster del servizio Azure Kubernetes controlla i pod che non possono essere pianificati sui nodi a causa di vincoli di risorse e aumenta automaticamente il numero di nodi.

  • Il servizio Azure Kubernetes supporta l'esecuzione di contenitori in Istanze di Azure Container usando l'implementazione di kubelet virtuale. Un nodo virtuale del servizio Azure Kubernetes effettua il provisioning Istanze di Container pod che iniziano in pochi secondi, consentendo l'esecuzione del servizio Azure Kubernetes con capacità sufficiente per un carico di lavoro medio. Man mano che il cluster del servizio Azure Kubernetes esaurisce la capacità, è possibile aumentare il numero di istanze Istanze di Container pod senza gestire altri server. È possibile combinare questo approccio con il ridimensionamento automatico del cluster e il ridimensionamento manuale.

Se si usa il ridimensionamento su richiesta o il ridimensionamento automatico del cluster, tenere conto delle macchine virtuali aggiunte. Istanze di Container addebiti si basano sui fattori seguenti:

  • Fatturazione delle metriche basate sull'utilizzo per gruppo di contenitori
  • VCPU e memoria della raccolta
  • Uso di un singolo contenitore o condivisione di più contenitori
  • Uso di contenitori pianificati che condividono il ciclo di vita della rete e del nodo
  • Durata dell'utilizzo calcolata dall'avvio o dal riavvio dell'immagine fino all'arresto
  • Aggiunta dell'addebito per i gruppi di contenitori di Windows

Costi di aggiornamento

Parte del ciclo di vita del cluster del servizio Azure Kubernetes prevede aggiornamenti periodici alla versione più recente di Kubernetes. È importante applicare le versioni di sicurezza più recenti e ottenere le funzionalità più recenti. È possibile aggiornare manualmente o automaticamente i cluster del servizio Azure Kubernetes e i pool a nodo singolo. Per altre informazioni, vedere Aggiornare un cluster del servizio Azure Kubernetes.

Per impostazione predefinita, il servizio Azure Kubernetes configura gli aggiornamenti per l'aumento con un nodo aggiuntivo. Un valore predefinito di 1 per l'impostazione riduce al minimo l'interruzione del max-surge carico di lavoro creando un nodo aggiuntivo per sostituire i nodi con controllo delle versioni precedenti prima di completare o svuotare le applicazioni esistenti. È possibile personalizzare il max-surge valore per ogni pool di nodi per consentire un compromesso tra la velocità di aggiornamento e l'interruzione dell'aggiornamento. L'aumento del max-surge valore completa il processo di aggiornamento più velocemente, ma un valore elevato per max-surge può causare interruzioni durante il processo di aggiornamento e comporta costi aggiuntivi per macchine virtuali aggiuntive.

Altri costi

A seconda dell'utilizzo e dei requisiti, i cluster del servizio Azure Kubernetes possono comportare i costi aggiuntivi seguenti:

Ottimizzazione dei costi

I consigli seguenti consentono di ottimizzare i costi del cluster del servizio Azure Kubernetes:

  • Esaminare la sezione Ottimizzazione costi di Azure Well-Architected Framework per il servizio Azure Kubernetes.

  • Per le soluzioni multi-tenant, l'isolamento fisico è più costoso e aumenta il sovraccarico di gestione. L'isolamento logico richiede un'esperienza Kubernetes maggiore e aumenta la superficie di attacco per le modifiche e le minacce alla sicurezza, ma condivide i costi.

  • Le prenotazioni di Azure consentono di risparmiare denaro impegnandosi in piani di un anno o tre anni per diversi prodotti, ad esempio le macchine virtuali nel cluster del servizio Azure Kubernetes. Si ottengono sconti riservando capacità. Usare le prenotazioni di Azure per Archiviazione e calcolo per ridurre il costo dei nodi dell'agente.

    Le prenotazioni possono ridurre i costi delle risorse fino al 72% rispetto ai prezzi con pagamento in base al consumo e non influiscono sullo stato di runtime delle risorse. Dopo l'acquisto, lo sconto per la prenotazione si applica automaticamente alle risorse corrispondenti. È possibile acquistare prenotazioni dalla portale di Azure o usando le API REST di Azure, PowerShell o l'interfaccia della riga di comando di Azure. Se si usano strumenti operativi che si basano sulle aree di lavoro Log Analytics, prendere in considerazione anche l'uso delle prenotazioni per questa risorsa di archiviazione.

  • Aggiungere uno o più pool di nodi spot al cluster del servizio Azure Kubernetes. Un pool di nodi spot è un pool di nodi supportato da Azure Spot set di scalabilità di macchine virtuali. L'uso di macchine virtuali spot per i nodi del cluster del servizio Azure Kubernetes sfrutta la capacità inutilizzata di Azure con risparmi significativi sui costi. La quantità di capacità inutilizzata disponibile varia in base a diversi fattori, tra cui dimensioni del nodo, area e ora del giorno. Azure alloca i nodi spot se è disponibile la capacità, ma non esiste alcun contratto di servizio per i nodi spot. Un set di scalabilità spot che esegue il backup del pool di nodi spot viene distribuito in un singolo dominio di errore e non offre garanzie di disponibilità elevata. Quando Azure richiede di nuovo la capacità, l'infrastruttura di Azure rimuove i nodi spot.

    Quando si crea un pool di nodi spot, è possibile definire il prezzo massimo per pagare all'ora e abilitare il ridimensionamento automatico del cluster, consigliato per i pool di nodi spot. Il ridimensionamento automatico del cluster aumenta e aumenta il numero di nodi nel pool di nodi in base ai carichi di lavoro in esecuzione. Per i pool di nodi spot, il ridimensionamento automatico del cluster aumenta il numero di nodi dopo una rimozione se i nodi sono ancora necessari. Per altre informazioni, vedere Aggiungere un pool di nodi spot a un cluster del servizio Azure Kubernetes .For more information, see Add a spot node pool to an servizio Azure Kubernetes (AKS).

  • Scegliere le dimensioni corrette della macchina virtuale per i pool di nodi del cluster del servizio Azure Kubernetes in base alle esigenze di CPU e memoria dei carichi di lavoro. Azure offre molti tipi di istanza di macchina virtuale diversi che corrispondono a un'ampia gamma di casi d'uso, con combinazioni diverse di CPU, memoria, archiviazione e capacità di rete. Ogni tipo è disponibile in una o più dimensioni, in modo da poter ridimensionare facilmente le risorse.

    È ora possibile distribuire e gestire applicazioni in contenitori con il servizio Azure Kubernetes in esecuzione nei processori basati su ARM di Ampere Altra. Per altre informazioni, vedere Azure Macchine virtuali con processori basati su ARM Ampere Altra.

  • Creare più pool di nodi con dimensioni di vm diverse per scopi e carichi di lavoro speciali. Usare i contenitori Kubernetes e le tolleranze e le etichette dei nodi per inserire applicazioni a elevato utilizzo di risorse in pool di nodi specifici per evitare problemi di prossimità rumorosi. Mantenere disponibili queste risorse del nodo per i carichi di lavoro che li richiedono e non pianificare altri carichi di lavoro in questi nodi. L'uso di dimensioni di vm diverse per pool di nodi diversi può anche ottimizzare i costi. Per altre informazioni, vedere Usare più pool di nodi in servizio Azure Kubernetes (servizio Azure Kubernetes).

  • I pool di nodi in modalità sistema devono contenere almeno un nodo, mentre i pool di nodi in modalità utente possono contenere zero o più nodi. Quando possibile, è possibile configurare un pool di nodi in modalità utente per la scalabilità automatica da 0 a N nodi. È possibile configurare i carichi di lavoro per aumentare il numero di istanze e aumentare il numero di istanze usando un'utilità di scalabilità automatica orizzontale dei pod. Basare la scalabilità automatica su CPU e memoria o usare la scalabilità automatica basata su eventi di Kubernetes per basare la scalabilità automatica sulle metriche di un sistema esterno, ad esempio Apache Kafka, RabbitMQ o bus di servizio di Azure.

  • Assicurarsi di impostare correttamente richieste e limiti per i pod per migliorare la densità dell'applicazione ed evitare di assegnare troppi risorse di CPU e memoria ai carichi di lavoro. Osservare il consumo medio e massimo di CPU e memoria usando Prometheus o Container Insights. Configurare correttamente limiti e quote per i pod nei manifesti YAML, nei grafici Helm e nei manifesti Kustomize per le distribuzioni.

  • Usare gli oggetti ResourceQuota per impostare quote per la quantità totale di memoria e CPU per tutti i pod in esecuzione in uno spazio dei nomi specificato. L'uso sistematico delle quote di risorse evita problemi di prossimità rumorosi, migliora la densità dell'applicazione e riduce il numero di nodi agente e i costi totali. Usare anche oggetti LimitRange per configurare le richieste di CPU e memoria predefinite per i pod in uno spazio dei nomi.

  • Usare Istanze di Container per il bursting.

  • I carichi di lavoro del servizio Azure Kubernetes potrebbero non dover essere eseguiti continuamente, ad esempio carichi di lavoro specifici nei pool di nodi del cluster di sviluppo. Per ottimizzare i costi, è possibile disattivare completamente un cluster del servizio Azure Kubernetes o arrestare uno o più pool di nodi nel cluster del servizio Azure Kubernetes. Per altre informazioni, vedere Arrestare e avviare un cluster servizio Azure Kubernetes (servizio Azure Kubernetes) e Avviare e arrestare un pool di nodi in servizio Azure Kubernetes (servizio Azure Kubernetes).

  • Criteri di Azure si integra con il servizio Azure Kubernetes tramite criteri predefiniti per applicare misure di sicurezza e imposizione centralizzate, coerenti e su larga scala. Abilitare il componente aggiuntivo Criteri di Azure nel cluster e applicare le richieste e i limiti predefiniti della CPU e delle risorse di memoria, assicurandosi che i limiti delle risorse di CPU e memoria siano definiti nei contenitori del cluster.

  • Usare Azure Advisor per monitorare e rilasciare le risorse inutilizzate.

  • Usare budget e revisioni di Gestione costi Microsoft per tenere traccia delle spese.

Governance dei costi

Il cloud può migliorare significativamente le prestazioni tecniche dei carichi di lavoro aziendali. Le tecnologie cloud possono anche ridurre i costi e il sovraccarico della gestione degli asset dell'organizzazione. Tuttavia, questa opportunità di business crea anche rischi, perché le distribuzioni cloud possono aumentare il potenziale di sprechi e inefficienze.

La governance dei costi è il processo di implementazione continua di criteri o controlli per limitare la spesa e i costi. Gli strumenti nativi di Kubernetes e gli strumenti di Azure supportano entrambi la governance dei costi con il monitoraggio proattivo e l'ottimizzazione dei costi dell'infrastruttura sottostante.

  • Gestione costi Microsoft è una suite di strumenti Microsoft che consente di analizzare, gestire e ottimizzare i costi del carico di lavoro di Azure. Usare la suite per assicurarsi che l'organizzazione stia sfruttando i vantaggi offerti dal cloud.

  • Esaminare le procedure consigliate per la governance di Cloud Adoption Framework per la disciplina Gestione costi per comprendere meglio come gestire e gestire i costi del cloud.

  • Esplorare gli strumenti open source come KubeCost per monitorare e gestire i costi del cluster del servizio Azure Kubernetes. È possibile definire l'ambito dell'allocazione dei costi a una distribuzione, a un servizio, a un'etichetta, a un pod e a uno spazio dei nomi, che offre flessibilità per mostrare e caricare gli utenti del cluster.

Materiale di riferimento

Ecco alcuni materiali di riferimento che consentono di comprendere e usare ulteriormente l'analisi dei costi del servizio Azure Kubernetes:

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autori principali:

Altri contributori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi