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