1
resposta

ERR_CONNECTION_TIMED_OUT

Estou trabalhando em um projeto para entregar com base nas aulas, e estou tomando time out quando tento acessar a url para o mundo externo configurada no meu projeto. A saber a porta 30001. Todos os pods estão conectados e em running, não estão dando erro. Não sei como resolvo isso. Segue os arquivos do meu projeto.

apiVersion: v1
kind: Pod
metadata:
  name: api-farmacia
  labels:
    app: api-farmacia
spec:
  containers:
    - name: api-farmacia-container
      image: erivan41/app-farma:1.0
      imagePullPolicy: Never
      ports:
        - containerPort: 8080
      envFrom:
        - configMapRef:
            name: api-configmap
apiVersion: v1
kind: Pod
metadata:
  name: db-farmacia
  labels:
    app: db-farmacia
spec:
  containers:
    - name: db-farmacia-container
      image: mysql:latest
      ports:
        - containerPort: 3306
      envFrom:
        - configMapRef:
            name: db-configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: db-configmap
data:
  MYSQL_ROOT_PASSWORD: "256231"
  MYSQL_DATABASE: dbfarmacia
  MYSQL_PASSWORD: "256231"
apiVersion: v1
kind: ConfigMap
metadata:
  name: api-configmap
data:
  MYSQL_HOST: svc-db-farmacia
  MYSQL_DATABASE: dbfarmacia
apiVersion: v1
kind: Service
metadata:
  name: svc-api-farmacia
spec:
  type: NodePort
  ports:
    - port: 8080
      nodePort: 30001
  selector:
    app: api-farmacia   
apiVersion: v1
kind: Service
metadata:
  name: svc-db-farmacia
spec:
  type: ClusterIP
  ports:
    - port: 3306
  selector:
    app: db-farmacia
1 resposta

Oi, Erivan, tudo bem?

Antes de tudo, verifica por favor se o serviço svc-api-farmacia está realmente expondo a porta 30001. É só executar o comando kubectl get svc svc-api-farmacia. O resultado deve mostrar a porta 30001 na coluna PORT(S).

Se a porta retornar como 30001, o próximo passo é verificar se o seu firewall ou as configurações de rede do seu provedor de nuvem não estão bloqueando a porta 30001.

Outra possibilidade: talvez o pod api-farmacia não está funcionando como deveria. Mesmo que o status do pod seja running, pode existir algum problema com a aplicação em si que está impedindo a conexão. Você pode visualizar os logs dele com o comando kubectl logs api-farmacia e checar se há alguma situação ali.

Por último, verifique se o serviço svc-api-farmacia está se comunicando ccom o pod api-farmacia. Você pode fazer isso executando um comando curl.

Lembrando que como nós não temos acesso ao seu projeto como um todo e ele é baseado no curso, é um pouco difícil te ajudar com mais assertividade.

Se outra dúvida surgir, estamos aqui.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.