Esta página descreve a utilização de objetos StatefulSet no Google Kubernetes Engine (GKE). Também pode saber como Implementar uma aplicação com estado.
Acerca dos StatefulSets
Os StatefulSets representam um conjunto de pods com identidades persistentes e exclusivas, e nomes de anfitriões estáveis que o GKE mantém independentemente de onde são agendados. As informações de estado e outros dados resilientes para qualquer Pod StatefulSet são mantidos em volumes persistentes associados a cada Pod no StatefulSet. Os pods StatefulSet podem ser reiniciados em qualquer altura.
Para aplicações sem estado, use Implementações.
Os StatefulSets funcionam de forma semelhante no GKE e no Kubernetes. Este documento descreve as considerações específicas do GKE. Para saber como funcionam os StatefulSets, consulte a documentação do Kubernetes sobre os StatefulSets.
Planeie a rede para StatefulSets
Os StatefulSets oferecem armazenamento persistente sob a forma de um PersistentVolume e uma identidade de rede exclusiva (nome do anfitrião). A tabela seguinte inclui as ressalvas de que os operadores de aplicações devem ter conhecimento ao configurar um StatefulSet:
Ressalva sobre trabalhar em rede | Descrição | Prática recomendada |
---|---|---|
Serviços do GKE em vez de endereços IP fixos |
Embora as réplicas de Pod tenham um índice ordinal exclusivo, suportem volumes por réplica e identidade de rede (nome do anfitrião), os endereços IP atribuídos a uma réplica podem mudar se o GKE reagendar ou despejar um Pod. |
Para mitigar problemas de rede, a arquitetura deve usar recursos do serviço do Kubernetes. Para mais informações, consulte o artigo Tipos de serviços Kubernetes. |
Serviços sem interface |
Quando inicializado, um StatefulSet é sincronizado com um serviço sem cabeça correspondente. |
Certifique-se de que o `metadata.name` no seu serviço corresponde ao campo |
Descoberta de pares |
As aplicações com estado requerem um número mínimo (quorum) de réplicas para funcionar com disponibilidade total. |
Uma vez que os pods podem falhar, ser reagendados ou removidos, cada réplica num StatefulSet deve poder sair e voltar a juntar-se ao quórum. As aplicações que requerem peering devem ter a capacidade de descobrir outros pares através de serviços sem interface gráfica no Kubernetes. |
Verificação de funcionamento com base em sondas de disponibilidade e sondas de atividade |
A sua aplicação deve ter sondas de prontidão, atividade e arranque devidamente configuradas, quando aplicável. A seleção de limites de tempo para cada teste depende dos requisitos da sua aplicação. |
Para as sondas de disponibilidade, siga estas práticas recomendadas para configurar a sua aplicação de modo a marcar a disponibilidade quando estiver pronta para publicar tráfego:
|
Para ler mais acerca das sondas, consulte o artigo Configure sondas de atividade, disponibilidade e arranque.
Trabalhe com StatefulSets
Para saber como implementar StatefulSets no seu cluster do GKE e interagir com eles, consulte a documentação do Kubernetes acerca dos básicos do StatefulSet.
O que se segue?
- Saiba como implementar uma aplicação com estado
- Saiba como atualizar StatefulSets com atualizações contínuas
- Saiba mais sobre a implementação de cargas de trabalho no GKE
- Leia mais sobre os StatefulSets na documentação do Kubernetes
- Faça um tutorial sobre como atualizar um cluster que executa uma carga de trabalho com estado