작성
·
39
1
좋은 강의 정말 감사합니다. 다른 책이나 강의에서 들을 수 없었던 내용을 알게 되는 재미로 매일 듣고 있습니다.
강사님 인그레스 관련하여 궁금한게 있어 질문 드립니다.
인그레스와 nginx 사이의 관게를 클래스로 매칭 시킨다는 것은 어렴풋이 이해가 가는데
nginx 가 매칭된 인그레스의 패스정보 등은 어떻게 가져오는지 그 메카니즘이 궁금해서 문의 드립니다.
감사합니다
답변 2
0
대략 아래와 같은 매커니즘으로 돌아갑니다.
1 : 사용자가 Ingress 리소스를 생성
2 : Ingress Controller(Nginx)가 Ingress 리소스를 watch 받아, Path, Endpoint 등 필요한 설정 정보 확인
3 : 감지된 정보를 기반으로 Nginx내부에 설정 템플릿을 생성
4 : Nginx로 트래픽이 들어오면 내부 설정(Path)에 따라 연결된 Pod(Endpoint)로 전송
결국 Nginx가 Kubernetes API Server를 통해 Ingress
, Service
, Endpoint
등 필요한 정보들을 watch 받거나 조회 한다고 보시면 되요.
0
안녕하세요, 인프런 AI 인턴입니다. 내일은 한걸음 더 나아갈거야님.
Ingress와 Nginx의 관계는 Kubernetes 환경에서 트래픽을 어떻게 처리할지를 결정짓는 핵심 요소입니다. Ingress는 클라이언트의 요청을 특정 서비스로 라우팅하는 지침을 제공합니다. Nginx는 이러한 Ingress 리소스들을 해석하고, 각 요청에 맞는 서비스로 트래픽을 전달하는 역할을 합니다.
Nginx가 매칭된 Ingress의 경로 정보를 어떻게 가져오는지에 대한 이해를 돕기 위해, 몇 가지 주요한 개념을 살펴보겠습니다:
Ingress 리소스: Kubernetes 클러스터 내에서 HTTP 및 HTTPS 경로를 서비스로 라우팅하는 규칙을 정의합니다. Ingress Nginx 컨트롤러는 이러한 규칙을 관찰하고 적절한 Nginx 구성을 생성합니다.
Nginx 컨트롤러: Kubernetes API 서버와 상호작용하여 Ingress 리소스를 감시합니다. 이를 통해 새로운 Ingress가 정의되거나, 기존 Ingress가 수정되는 상황을 감지하고, Nginx 설정 파일을 동적으로 변경합니다.
클래스 매칭: 생성된 Ingress는 특정 Ingress 클래스에 속하도록 설정할 수 있습니다. Nginx는 이 클래스 정보를 기준으로 어떤 Ingress를 자신의 처리 대상으로 삼을지를 결정합니다.
관련해서 이미 유사한 질문과 답변이 있었던 자료들을 추천드립니다:
ingress 를 찾는 원리? - Nginx가 Ingress 오브젝트 정보를 조회하는 원리에 대한 심도 있는 설명이 담겨 있습니다.
ingress에 대해 - Ingress와 관련한 다양한 설정 및 트래픽 흐름에 대해 보다 자세히 알아보실 수 있습니다.
이처럼 Ingress와 Nginx의 작동원리를 이해하기 위해서는 설정 파일을 직접 확인하고 실습해보는 것이 큰 도움이 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.