• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

mac + docker desktop 에서 ingress 접근 실패

22.03.28 16:10 작성 조회수 412

1

안녕하세요. 실습을 따라하고 있는데

docker desktop 환경에선 ingress 실습이 불가능한가요 ?

 

mac(m1) + docker desktop (kubernetes v1.22.5)를 사용하고 있는데 아래와 같이 127.0.0.1로 바꿔서 접근하려고해도 안되고 있습니다.

nginx controller는 설치해서 localhost로 접근하면 nginx 404 페이지가 뜨긴하는데 v1.echo.127.0.0.1.sslip.io 에서 연결이 안되는 것 같습니다.

다른 질문을 보니까 docker를 사용해서 그런거일수도 있을 것 같은데 ingress 테스트 하려면 무조건 vm 으로 돌려야하나요 ?

 

service/ingress-nginx-controller의 NodePort는 31989 입니다. 

v1.echo.127.0.0.1.sslip.io 

v1.echo.127.0.0.1.sslip.io:31989 

모두 안되고 있습니다.

 

LoadBalancer Ingress:     localhost
Port:                     http  80/TCP
TargetPort:               http/TCP
NodePort:                 http  31989/TCP
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: echo-v1
spec:
  rules:
  - host: v1.echo.127.0.0.1.sslip.io
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: echo-v1
            port:
              number: 3000

답변 1

답변을 작성해보세요.

2

안녕하세요!

docker desktop을 사용하는 경우, 네트워크 구성이 조금 달라집니다. 결론적으로는 127.0.0.1:80 으로 직접 접근할 수 없고 127.0.0.1:31723 처럼 중간 프록시 서버를 거쳐야 합니다.

minikube service ingress-nginx-controller -n ingress-nginx --url

명령어를 입력하시면 중간 프록시 서버가 실행됩니다.

해당 프록시 서버를 그대로 둔 상태(종료하지 말고)에서 첫번째 줄의 포트로 접근해보시겠어요?

만약 결과가 다음과 같다면 v1.echo.127.0.0.1.sslip.io:51728 로 접근해보시면 됩니다.

http://127.0.0.1:51728

http://127.0.0.1:51729

https://subicura.com/k8s/guide/ingress.html#ingress-%E1%84%86%E1%85%A1%E1%86%AB%E1%84%83%E1%85%B3%E1%86%AF%E1%84%80%E1%85%B5 해당 문서의 Docker 부분을 참고해주세요.

감사합니다!