01. DADOS GERAIS
Linha de Produto: | Linha Protheus |
---|---|
Segmento: | Backoffice |
Módulo: | TOTVS Transmite |
Função: | Não Há |
País: | Brasil |
Ticket: | Não Há |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERTSS3-3783 |
02. SITUAÇÃO/REQUISITO
Configuração do liveness / readness probe no kubernetes para monitorar a saúde dos pods dos projetos transmit-edi-api e transmit-edi-worker, com o objetivo de reiniciá-lo quando identificado que o mesmo não está saudável e assim restabelecer o serviço.
03. SOLUÇÃO
Conforme definição dos recursos liveness / readness probe descritos na documentação do kubermetes e baseado no funcionamento dos projetos edi-api e edi-worker, foi possível implementar o requisito da issue utilizando somente o liveness probe.
As seguintes configurações e alterações foram implementadas:
- transmit-edi-api:
- Disponibilizado endpoint api/v1/edi/healthy para realização do teste via requisição Http Get;
- Alteração no arquivo deployment.yaml configurando o recurso para executar o teste utilizando o endpoint acima;
- transmit-edi-worker:
- Implementado método para gerar o arquivo /healthy/livenessState.txt no diretório local da aplicação ao iniciar o pod e também ao completar o processamento das mensagens recebidas na fila do message broker.
- Alteração no arquivo deployment.yaml configurando a execução do recurso para checar o arquivo livenessState.txt. A aplicação será considerada "saudável" caso o arquivo exista e a data de criação seja inferior ao intervalo configurado no comando executado no teste;
Os seguintes parâmetros também poderão ser alterados para customizar a execução do liveness probe:
- initialDelaySeconds: Intervalo que o kubernetes aguardará para iniciar os testes após a inicialização do pod;
- periodSeconds: Intervalo entre a execução dos testes;
- timeoutSeconds: Tempo considerado aceitável para retorno da aplicação durante a execução do teste, antes de definir como timeout;
- successThreshold: Número mínimo de tentativas com sucesso para determinar que o pod está "saudável"; Caso não informado, considera 1 como valor default;
- failureThreshold: Número máximo de tentativas com falha antes de reiniciar o pod; Caso não seja informado, considera 3 como valor default;
04. DEMAIS INFORMAÇÕES
- Não Há.
05. ASSUNTOS RELACIONADOS
- Não Há.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas