Nesta página, descrevemos o uso de objetos StatefulSet no Google Kubernetes Engine (GKE). Você também aprende a implantar um aplicativo com estado.
Sobre StatefulSets
StatefulSets representam um conjunto de pods
com identidades únicas e permanentes e nomes de host estáveis que
o GKE mantém, onde quer que estejam programados. As informações de estado e outros dados resilientes de qualquer pod do StatefulSet são mantidos
em volumes permanentes
associados a cada pod no StatefulSet. Os pods StatefulSet podem ser reiniciados a qualquer momento.
Os StatefulSets funcionam de maneira semelhante no GKE e no Kubernetes. Neste documento, descrevemos as considerações específicas do GKE. Para saber
como os StatefulSets funcionam, consulte a
documentação do Kubernetes sobre StatefulSets.
Planejar a rede para StatefulSets
Os StatefulSets fornecem armazenamento permanente na forma de um PersistentVolume e de uma
identidade de rede exclusiva (nome do host). A tabela a seguir inclui as ressalvas que os
operadores de aplicativos precisam conhecer ao configurar um StatefulSet:
Advertência de rede
Descrição
Prática recomendada
Serviços do GKE em vez de endereços IP fixos
Ainda que as réplicas do pod tenham um índice ordinal exclusivo, suporte a volumes por réplica e identidade de rede (nome do host), os endereços IP atribuídos a uma réplica poderão ser alterados se o GKE reprogramar ou remover um pod.
Para minimizar problemas de rede, a arquitetura precisa usar os recursos
de serviço do Kubernetes. Para mais informações, consulte Tipos de serviços do Kubernetes.
Serviços sem comando
Quando inicializado, um StatefulSet é pareado com um serviço sem comando correspondente.
Verifique se o "metadata.name" no
serviço corresponde ao campo serviceName no StatefulSet. Isso permite que
cada pod do seu aplicativo seja endereçado a um endereço de rede único e
bem definido. Além disso, o serviço sem comando fornece um registro multiIP para
cada réplica no seu StatefulSet, permitindo descoberta completa de apps semelhantes.
Descoberta de semelhantes
Aplicativos com estado exigem um número mínimo (quorum) de
réplicas para funcionar com disponibilidade total.
Como os pods podem falhar, ser
reprogramados ou removidos, cada réplica em um StatefulSet precisa sair
e voltar a participar do quórum. Aplicativos que exigem peering precisam ter a
capacidade de descobrir outros pares por meio de serviços sem comando no Kubernetes.
Verificação de integridade com base em sondagens de prontidão e de atividade
Seu aplicativo deve ter
sondagens de prontidão, atividade e inicialização configuradas corretamente, quando aplicável.
A seleção de tempos limite para cada sondagem depende dos requisitos do seu
aplicativo.
Para sondagens de prontidão, siga estas práticas recomendadas para configurar
o aplicativo para marcar a prontidão quando ele estiver pronto para exibir o tráfego:
Sondagens de atividade: podem ser usadas para verificar se um
contêiner está íntegro. Por exemplo, uma réplica de banco de dados pode usar uma sondagem de atividade para
indicar que o GKE precisa reiniciar a réplica, como a condição de impasse
Sondagens de prontidão: podem ser usadas para remover uma réplica de
exibir tráfego temporariamente. Por exemplo, se você tiver uma réplica de banco de dados
que precisa executar um backup, use uma sondagem de prontidão para
interromper temporariamente o recebimento de solicitações.
Sondagem de inicialização: podem ser usadas para atrasar as verificações de integridade até que
inicializações de longa duração sejam concluídas. Por exemplo, se você tiver uma réplica de banco de dados,
poderá usar uma sondagem de inicialização para aguardar a inicialização dos dados armazenados
no disco.
Para saber como implantar StatefulSets no seu cluster do GKE e interagir com eles, consulte a documentação do Kubernetes sobre conceitos básicos do StatefulSet.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-01 UTC."],[],[],null,["# About StatefulSets in GKE\n\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview) [Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nThis page describes the use of *StatefulSet* objects in\nGoogle Kubernetes Engine (GKE). You can also learn how to\n[Deploy a stateful application](/kubernetes-engine/docs/how-to/stateful-apps).\n\nAbout StatefulSets\n------------------\n\nStatefulSets represent a set of Pods with unique, persistent identities, and\nstable hostnames that GKE maintains regardless of where they are\nscheduled. The state information and other resilient data for any given\nStatefulSet Pod is maintained in [persistent\nvolumes](/kubernetes-engine/docs/concepts/persistent-volumes) associated with\neach Pod in the StatefulSet. StatefulSet Pods can be restarted at any time.\n\nFor [stateless applications](/kubernetes-engine/docs/how-to/deploying-workloads-overview#stateless_applications), use\n[Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/).\n\nStatefulSets function similarly in GKE and in Kubernetes. This\ndocument describes any GKE-specific considerations. To learn\nhow StatefulSets work, see the\n[Kubernetes documentation about StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/).\n\n### Plan networking for StatefulSets\n\nStatefulSets provide persistent storage in the form of a PersistentVolume and a\nunique network identity (hostname). The following table includes the caveats that\napplication operators should be aware of when configuring a StatefulSet:\n\nTo read more about probes, see [Configure Liveness, Readiness, and Startup Probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes).\n\n\nWork with StatefulSets\n----------------------\n\nTo learn how to deploy StatefulSets in your GKE cluster and\ninteract with them, see the Kubernetes documentation about\n[StatefulSet basics](https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/).\n\nWhat's next\n-----------\n\n- [Learn how to deploy a stateful application](/kubernetes-engine/docs/how-to/stateful-apps)\n- [Learn how to update StatefulSets using rolling updates](https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#rolling-update)\n- [Learn more about deploying workloads in GKE](/kubernetes-engine/docs/how-to/deploying-workloads-overview)\n- [Read more about StatefulSets in the Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)\n- [Take a tutorial about upgrading a cluster running a stateful workload](/kubernetes-engine/docs/tutorials/upgrading-stateful-workload)"]]