Carichi di lavoro Kubernetes per l'alta disponibilità

Questa pagina consiglia strategie di workload dei container Kubernetes che rendono la tua applicazione più tollerante agli errori in un universo multizona air-gap di Google Distributed Cloud (GDC). GDC supporta le applicazioni container native di Kubernetes ampiamente utilizzate e supportate su Google Kubernetes Engine (GKE).

Questa pagina è rivolta agli sviluppatori del gruppo di operatori di applicazioni, che sono responsabili della creazione dei carichi di lavoro delle applicazioni per la propria organizzazione. Per saperne di più, consulta la documentazione sulle audience per GDC air-gapped.

Considerazioni su Kubernetes per le app HA

Per ottenere l'alta disponibilità (HA) in Kubernetes non è sufficiente il control plane. Devi anche progettare ed eseguire il deployment dei carichi di lavoro dei container nel tuo universo air-gap di Google Distributed Cloud (GDC) in modo resiliente. Kubernetes offre diversi meccanismi potenti per ridurre al minimo i tempi di inattività e fornire servizi a disponibilità elevata anche in caso di problemi di infrastruttura o durante la manutenzione di routine. I seguenti argomenti sono strategie chiave da considerare per l'alta affidabilità:

  • Mantenere la disponibilità con repliche e scalabilità automatica: devi avere un numero sufficiente di istanze in esecuzione della tua applicazione per fornire l'alta disponibilità.

    • ReplicaSet: una risorsa ReplicaSet mantiene un insieme stabile di repliche di pod identiche in esecuzione in un dato momento. Se un pod si arresta o viene terminato, il controller ReplicaSet crea automaticamente un nuovo pod per sostituirlo. Per ulteriori informazioni, consulta la documentazione di Kubernetes relativa a ReplicaSet.

    • Horizontal Pod Autoscaler (HPA): mentre un ReplicaSet mantiene un numero fisso di repliche, l'HPA regola automaticamente questo numero in base alle metriche osservate, come l'utilizzo della CPU o della memoria. In questo modo la tua applicazione può gestire i picchi di carico. Per saperne di più, consulta la documentazione di Kubernetes sulla scalabilità automatica pod orizzontale.

  • Ridurre al minimo i tempi di inattività con PodDisruptionBudget (PDB): consulta la documentazione di Kubernetes sulla specifica di un budget di interruzione per l'applicazione per ulteriori informazioni.

  • Distribuisci il rischio con le regole di anti-affinità: consulta la documentazione di affinità e anti-affinità di Kubernetes per ulteriori informazioni.

  • Controlli di integrità con probe di attività, idoneità e avvio: per ulteriori informazioni, consulta la documentazione di Kubernetes Configura probe di attività, idoneità e avvio.

  • Endpoint stabili e bilanciamento del carico con i servizi: per saperne di più, consulta la documentazione di Kubernetes sui servizi.

  • Aggiornamenti e rollback controllati con i deployment: consulta la documentazione di Kubernetes sul rollback di un deployment per ulteriori informazioni.

  • Imposta richieste e limiti per le risorse: consulta la documentazione di Kubernetes sulla gestione delle risorse per pod e container per ulteriori informazioni.

Passaggi successivi