O que é o readinessProbe no Kubernetes
Introdução
Um container quando inicia o seu processo principal, o Kubernetes por padrão o considera pronto para responder as requisições e assim associa o IP do POD aos endpoints de um service.
O ponto é que algumas aplicações demoram um certo tempo para finalizar a sua inicialização.
Vamos supor que você tem uma aplicação que precisa se conectar a outras ferramentas, fazer algumas validações e só depois disso a aplicação é inicializada.
Ao deixar o Kubernetes associar esse Pod a um service sem fazer nenhuma validação se a aplicação está 100% funcional vai ocasionar erros aos usuários que vão acessar.
Para resolver esse tipo de situação é bem simples, basta usar o readinessProbe
O que é readinessProbe?
readinessProbe é um mecanismo utilizado para determinar se um container está pronto para receber requisições.
Como funciona o readinessProbe
Ao definir o readinessProbe para um container o Kubernetes irá fazer verificações de tempos em tempos do estado deste container. Até que essa verificação retorne sucesso o Pod não irá receber requisições de um service.
Exemplo prático
Vamos supor que você está criando um Pod com o PostgreSQL para um ambiente de desenvolvimento.
Esse banco de dados possui algumas tarefas para sua configuração, carga inicial e etc. Até que essas tarefas sejam concluídas a porta 5432/tcp do PostgreSQL não estará ouvindo novas requisições.
Ao configurar o readinessProbe o Pod não irá receber conexões até que suas verificações estejam com sucesso.
Conclusão
readinessProbe é um recurso poderoso. Explore as opções disponíveis e otimize a o desempenho e disponibilidade das suas aplicações.
Gostou do conteúdo?
Curta e compartilhe.
Me acompanhe nas redes sociais: