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.
Para aplicativos sem estado, use Implantações.
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   | 
  
| 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: 
  | 
  
Para ler mais sobre sondagens, consulte Configurar sondagens de atividade, prontidão e inicialização.
Trabalhar com StatefulSets
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.
A seguir
- Saiba como implantar um aplicativo com estado
 - Saiba como atualizar StatefulSets usando atualizações graduais
 - Saiba mais sobre como implantar cargas de trabalho no GKE
 - Leia mais sobre StatefulSets na documentação do Kubernetes
 - Veja um tutorial sobre como fazer upgrade de um cluster que executa uma carga de trabalho com estado