En esta página se describe el uso de objetos StatefulSet en Google Kubernetes Engine (GKE). También puedes consultar cómo desplegar una aplicación con estado.
Acerca de los StatefulSets
Los StatefulSets representan un conjunto de pods con identidades únicas y persistentes, así como nombres de host estables que mantiene GKE independientemente de dónde se programen. La información de estado y otros datos resistentes de un pod de StatefulSet determinado se mantienen en volúmenes persistentes asociados a cada pod del StatefulSet. Los pods de StatefulSet se pueden reiniciar en cualquier momento.
En el caso de las aplicaciones sin reconocimiento del estado, usa Deployments.
Los StatefulSets funcionan de forma similar en GKE y en Kubernetes. En este documento se describen las consideraciones específicas de GKE. Para saber cómo funcionan los StatefulSets, consulta la documentación de Kubernetes sobre StatefulSets.
Planificar la red de StatefulSets
Los StatefulSets proporcionan almacenamiento persistente en forma de PersistentVolume y una identidad de red única (nombre de host). En la siguiente tabla se incluyen las advertencias que deben tener en cuenta los operadores de aplicaciones al configurar un StatefulSet:
Advertencia sobre las redes | Descripción | Práctica recomendada |
---|---|---|
Servicios de GKE en lugar de direcciones IP fijas |
Aunque las réplicas de Pod tienen un índice ordinal único, admiten volúmenes por réplica e identidad de red (nombre de host), las direcciones IP que se asignan a una réplica pueden cambiar si GKE vuelve a programar o expulsa un Pod. |
Para mitigar los problemas de red, la arquitectura debe usar recursos de servicio de Kubernetes. Para obtener más información, consulta Tipos de servicios de Kubernetes. |
Servicios sin interfaz gráfica |
Cuando se inicializa, un StatefulSet se empareja con un servicio sin encabezado coincidente. |
Asegúrate de que el valor `metadata.name` de tu servicio coincida con el campo |
Detección de pares |
Las aplicaciones con estado requieren un número mínimo (cuórum) de réplicas para funcionar con plena disponibilidad. |
Como los pods pueden fallar, reprogramarse o expulsarse, cada réplica de un StatefulSet debe poder abandonar y volver a unirse al quórum. Las aplicaciones que requieran el peering deben tener la capacidad de descubrir otros peers a través de servicios sin encabezado en Kubernetes. |
Comprobación del estado basada en comprobaciones de preparación y de actividad |
Tu aplicación debe tener sondas de preparación, vivacidad e inicio configuradas correctamente cuando corresponda. La selección de los tiempos de espera de cada sonda depende de los requisitos de tu aplicación. |
En el caso de las sondas de disponibilidad, siga estas prácticas recomendadas para configurar su aplicación de forma que marque la disponibilidad cuando esté lista para atender el tráfico:
|
Para obtener más información sobre las sondas, consulta Configurar sondas de vivacidad, preparación e inicio.
Trabajar con StatefulSets
Para saber cómo desplegar StatefulSets en tu clúster de GKE e interactuar con ellos, consulta la documentación de Kubernetes sobre los conceptos básicos de StatefulSet.
Siguientes pasos
- Consulta cómo implementar una aplicación con estado.
- Consulta cómo actualizar StatefulSets mediante actualizaciones continuas.
- Más información sobre cómo desplegar cargas de trabajo en GKE
- Consulta más información sobre los StatefulSets en la documentación de Kubernetes.
- Sigue un tutorial sobre cómo actualizar un clúster en el que se ejecuta una carga de trabajo con reconocimiento del estado.