Questa pagina descrive l'utilizzo degli oggetti StatefulSet in Google Kubernetes Engine (GKE). Puoi anche scoprire come eseguire il deployment di un'applicazione con stato.
Informazioni sugli StatefulSet
Gli StatefulSet rappresentano un insieme di pod con identità univoche e permanenti e nomi host stabili gestiti da GKE indipendentemente da dove sono pianificati. Le informazioni sullo stato e altri dati resilienti per ogni pod StatefulSet vengono gestiti in volumi permanenti associati a ciascun pod nello StatefulSet. I pod StatefulSet possono essere riavviati in qualsiasi momento.
Per le applicazioni stateless, utilizza Deployment.
I StatefulSet funzionano in modo simile in GKE e in Kubernetes. Questo documento descrive eventuali considerazioni specifiche per GKE. Per scoprire come funzionano gli StatefulSet, consulta la documentazione di Kubernetes sugli StatefulSet.
Pianifica il networking per gli StatefulSet
Gli StatefulSet forniscono uno spazio di archiviazione permanente sotto forma di un PersistentVolume e di un'identità di rete univoca (nome host). La tabella seguente include le limitazioni che gli operatori delle applicazioni devono conoscere quando configurano un StatefulSet:
Nota sul networking | Descrizione | Best practice |
---|---|---|
Servizi GKE anziché indirizzi IP fissi |
Sebbene le repliche del pod abbiano un indice ordinale univoco, supportino i volumi per replica e l'identità di rete (nome host), gli indirizzi IP assegnati a una replica possono cambiare se GKE riprogramma o esegue l'espulsione di un pod. |
Per ridurre i problemi di rete, l'architettura deve utilizzare le risorse di servizio Kubernetes. Per saperne di più, consulta Tipi di servizi Kubernetes. |
Servizi headless |
Quando viene inizializzato, uno StatefulSet viene accoppiato a un servizio headless corrispondente. |
Assicurati che "metadata.name" nel servizio corrisponda al campo |
Rilevamento di peer |
Le applicazioni con stato richiedono un numero minimo (quorum) di repliche per funzionare con piena disponibilità. |
Poiché i pod possono arrestarsi in modo anomalo, essere ripianificati o rimossi, ogni replica in un StatefulSet deve essere in grado di uscire e rientrare nel quorum. Le applicazioni che richiedono il peering devono avere la capacità di rilevare altri peer tramite i servizi headless in Kubernetes. |
Controllo di integrità basato su probe di idoneità e probe di attività |
L'applicazione deve avere probe di idoneità, attività e avvio configurati correttamente, se applicabili. La selezione dei timeout per ogni controllo dipende dai requisiti della tua applicazione. |
Per i probe di idoneità, segui queste best practice per configurare la tua applicazione in modo che segnali l'idoneità quando è pronta a gestire il traffico:
|
Per scoprire di più sui probe, consulta Configurare i probe di attività, di idoneità e di avvio.
Lavorare con gli StatefulSet
Per scoprire come eseguire il deployment di StatefulSet nel tuo cluster GKE e interagire con essi, consulta la documentazione di Kubernetes sulle nozioni di base di StatefulSet.
Passaggi successivi
- Scopri come eseguire il deployment di un'applicazione con stato
- Scopri come aggiornare i StatefulSet utilizzando gli aggiornamenti in sequenza
- Scopri di più sul deployment dei carichi di lavoro in GKE
- Scopri di più sui StatefulSet nella documentazione di Kubernetes
- Guarda un tutorial sull'upgrade di un cluster che esegue un carico di lavoro stateful