
Estou tentando configurar um cluster Kubernetes muito simples com serviços de front-end, back-end e banco de dados. Aqui está parte do arquivo de definição de serviço Frontend:
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
tier: frontend
spec:
selector:
tier: frontend
ports:
- port: 80
nodePort: 30080
type: LoadBalancer
Quando acesso o IP do cluster na porta 30080 tudo está funcionando corretamente.
Agora estou tentando configurar um Ingress que funcionará na porta 80 (em preparação para implantar o cluster no Azure). Quero direcionar todo o tráfego HTTP para o frontend, pois este é o único serviço HTTP no meu cluster. Portanto, o arquivo de definição de entrada é o seguinte:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: zippori
annotations:
kubernetes.io/ingress.class: addon-http-application-routing
spec:
backend:
serviceName: frontend
servicePort: 80
Porém, quando eu acessohttp://minikube-ipRecebo o seguinte erro muito simples:
back-end padrão - 404
É como se o Ingress não encaminhasse nada para meu frontend e apenas tentasse seu próprio backend padrão.
Como posso consertar isso?
Responder1
O problema está no serviço Ingress.
No tipo yaml do Ingress, você está usando a anotação para definir o "backend do ingresso". Para AKS é "addon-http-application-routing", mas para minikube o que funciona imediatamente ékubernetes.io/ingress.class: nginx
Atualizar o Ingress com a anotação adequada deve habilitar o serviço para a configuração do seu minikube.