Nginx Ingress 컨트롤러가 404 Kubernetes를 반환합니다.

Aug 16 2020

NodePort를 통해 노출 한 서비스를 가리키는 수신 컨트롤러를 만들려고합니다.

다음은 수신 컨트롤러 용 yaml 파일입니다 ( https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/) :

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: hello-world.info
    http:
      paths:
      - path: /
        backend:
          serviceName: appName
          servicePort: 80

노드 포트에 직접 연결할 수 있으며 프런트 엔드가 표시됩니다.

프런트 엔드 앱이 내가 만든 다른 배포에 연결할 수없고 수신 컨트롤러가 문제를 해결할 수 있다는 내용을 읽었 기 때문에이 작업을 수행하고 있습니다. 여전히 Nginx 역방향 프록시를 추가해야합니까? 그렇다면 어떻게해야합니까? 나는 이것을 nginx 구성 파일에 추가하려고 시도했지만 성공하지 못했습니다.

location /middleware/ {
      proxy_pass http://middleware/;
   }

답변

2 Faheem Aug 16 2020 at 09:10

Ingress개체에 정의 된 경로에 도달하려면 적절한 호스트 이름을 사용해야 합니다. /etc/hosts파일을 업데이트 하거나 curl -H "hello-world.info" localhosttype 명령을 사용 하십시오 . 또는 host매핑을 삭제하고 모든 트래픽을 하나의 기본 서비스로 리디렉션 할 수 있습니다 .

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: appName
          servicePort: 80