Progettazione e operazioni del cluster

Questo articolo illustra la configurazione dei cluster e la progettazione della rete. Informazioni su come automatizzare il provisioning dell'infrastruttura per una scalabilità a prova di futuro. Il provisioning è il processo di configurazione dell'infrastruttura IT in base alle proprie esigenze. Il provisioning automatizzato dell'infrastruttura supporta un'installazione remota e configura gli ambienti virtuali. Consente inoltre di mantenere la disponibilità elevata, pianificando la continuità aziendale e il ripristino di emergenza.

Pianificazione, training e prova

Nella fase iniziale, l'elenco di controllo e le risorse Kubernetes seguenti saranno di ausilio per pianificare la progettazione del cluster. Al termine di questa sezione, si potrà rispondere alle domande seguenti:

  • Sono stati identificati i requisiti di progettazione della rete per il cluster?
  • Sono presenti servizi con requisiti variabili? Quanti pool di nodi si useranno?

Elenco di controllo:

  • Identificare i fattori da considerare per la progettazione della rete. Comprendere i fattori da considerare nella progettazione della rete del cluster, confrontare i modelli di rete e scegliere il plug-in di rete Kubernetes adatto alle proprie esigenze. Per le reti di Azure Container Networking Interface (CNI), considerare il numero di indirizzi IP necessari come multiplo del numero massimo di pod per nodo (impostazione predefinita 30) e del numero di nodi. Aggiungere un nodo necessario durante l'aggiornamento. Quando si scelgono i servizi di bilanciamento del carico, è consigliabile usare un controller in ingresso quando sono presenti troppi servizi per ridurre il numero di endpoint esposti. Per Azure CNI, il CIDR del servizio deve essere univoco nella rete virtuale e in tutte le reti virtuali connesse per garantire il routing appropriato.

    Per altre informazioni, vedere:

  • Creare più pool di nodi. Per supportare applicazioni con esigenze di calcolo o archiviazione diverse, facoltativamente è possibile configurare il cluster con più pool di nodi. Ad esempio, usare più pool di nodi per fornire GPU per applicazioni a elevato utilizzo di calcolo o per l'accesso a risorse di archiviazione SSD ad alte prestazioni. Per altre informazioni, vedere Creare e gestire più pool di nodi per un cluster nel servizio Azure Kubernetes.

  • Stabilire i requisiti di disponibilità. Un minimo di due pod dietro il servizio Azure Kubernetes assicura la disponibilità elevata dell'applicazione in caso di errori o riavvii del pod. Usare tre o più pod per gestire il carico durante gli errori e i riavvii dei pod. Per la configurazione del cluster, per soddisfare il contratto di servizio del 99,95% occorrono almeno due nodi in un set di disponibilità o un set di scalabilità di macchine virtuali. Usare almeno tre pod per garantire la pianificazione dei pod durante gli errori e i riavvii dei nodi.

    Per offrire un livello superiore di disponibilità alle applicazioni, è possibile distribuire i cluster tra zone di disponibilità. Queste zone sono data center fisicamente separati all'interno di una determinata area. Quando i componenti del cluster sono distribuiti tra più zone, il cluster può tollerare un errore in una delle zone. Le applicazioni e le operazioni di gestione restano disponibili anche in caso di interruzione di un intero data center. Per altre informazioni, vedere Creare un cluster del servizio Azure Kubernetes che usi le zone di disponibilità.

Passare all'ambiente di produzione e applicare le procedure consigliate per l'infrastruttura

Quando si prepara l'applicazione per la produzione, implementare un set minimo di procedure consigliate. In questa fase, usare questo elenco di controllo. Al termine di questa sezione, si potrà rispondere alle domande seguenti:

  • È possibile ridistribuire tranquillamente l'infrastruttura del cluster?
  • Sono state applicate quote di risorse?

Elenco di controllo:

  • Automatizzare il provisioning dei cluster. L'infrastruttura come codice consente di automatizzare il provisioning dell'infrastruttura per fornire una resilienza superiore nelle situazioni di emergenza e guadagnare agilità per ridistribuire rapidamente l'infrastruttura quando necessario. Per altre informazioni, vedere Creare un cluster Kubernetes con il servizio Azure Kubernetes usando Terraform.

  • Pianificare la disponibilità tramite i budget di interruzione dei pod. Per mantenere la disponibilità delle applicazioni, definire i budget di interruzione dei pod in modo da garantire la disponibilità di un numero minimo di pod nel cluster in caso di errori hardware o aggiornamenti del cluster. Per altre informazioni, vedere Pianificare la disponibilità tramite i budget di interruzione dei pod.

  • Applicare quote di risorse agli spazi dei nomi. Pianificare e applicare quote di risorse a livello di spazio dei nomi. È possibile impostare quote sulle risorse di calcolo, le risorse di archiviazione e il numero di oggetti. Per altre informazioni, vedere Applicare le quote di risorse.

Ottimizzare e dimensionare

Quando l'applicazione è in produzione, come è possibile ottimizzare il flusso di lavoro e preparare l'applicazione e il team per la scalabilità? Per le attività di preparazione, usare l'elenco di controllo per l'ottimizzazione e la scalabilità. Al termine di questa sezione, si potrà rispondere alle domande seguenti:

  • Si dispone di un piano per la continuità aziendale e il ripristino di emergenza?
  • È possibile dimensionare il cluster in modo da soddisfare le esigenze dell'applicazione?
  • È possibile monitorare l'integrità del cluster e dell'applicazione e ricevere avvisi?

Elenco di controllo: