Prezados, bom dia,
Executando o curso de "Kubernetes: prática, Helm e Cloud", entrei na mesma situação da colega acima. Creio que a aplicação não tenha sido testada ou validada recentemente.
Segui as mitigações do tópico anterior (verificar pods, mysql) e a princípio, em nível de "conectividade" está de acordo com a sequência do curso. Estou na etapa 4, "Garantindo a Aplicação", segui o passo a passo, e até mesmo copiei os arquivos do instrutor, mas com o liveness nada funciona como desejado.
Utilizando o liveness probe tenho o erro disparado:
Liveness probe failed: Get "http://10.244.0.59:3000/paciente": dial tcp http://10.244.0.59:3000: connect: connection refused
E a criação dos pods fica em loop.
Ao tentar pegar um log de um pod, aumentando o tempo do liveness para não matá-lo, pego esta msg aqui:
npm notice
npm notice New major version of npm available! 9.6.3 -> 10.4.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.4.0>
npm notice Run `npm install -g npm@10.4.0` to update!
npm notice
npm ERR! path /app
npm ERR! command failed
npm ERR! signal SIGTERM
npm ERR! command sh -c tsc-watch --onSuccess "node ./build/server.js"
npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-02-01T14_10_16_112Z-debug-0.log
Não consegui copiar a tempo o log citado do debug.
E o interessante, ao desativar o Liveness, tudo funciona perfeitamente.
O que vocês recomendam?
Segue minha config da aplicação, idêntica ao do instrutor:
apiVersion: apps/v1
kind: Deployment
metadata:
name: vollmed
labels:
app: vollmed
spec:
replicas: 3
selector:
matchLabels:
app: vollmed
template:
metadata:
labels:
app: vollmed
spec:
containers:
- name: vollmed-api
image: leonardosartorello/vollmed:v8
ports:
- containerPort: 3000
env:
# Define the environment variable
- name: DB_HOST # Notice that the case is different here
# from the key name in the ConfigMap.
valueFrom:
configMapKeyRef:
name: dados # The ConfigMap this value comes from.
key: DB_HOST # The key to fetch.
- name: DB_DATABASE # Notice that the case is different here
# from the key name in the ConfigMap.
valueFrom:
configMapKeyRef:
name: dados # The ConfigMap this value comes from.
key: DB_DATABASE # The key to fetch.
- name: DB_PASSWORD # Notice that the case is different here
# from the key name in the ConfigMap.
valueFrom:
secretKeyRef:
name: senhas # The ConfigMap this value comes from.
key: DB_PASSWORD # The key to fetch.
# livenessProbe:
# httpGet:
# path: /paciente
# port: 3000
# initialDelaySeconds: 10
# periodSeconds: 3
No aguardo, obrigado!