• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

ingress 질문입니다.

21.12.05 15:12 작성 조회수 199

1

안녕하세요.

Ingress 강의에서 궁금한 점이 생겨서 질문드립니다.

kubectl get ing 하면 ADDRESS가 보이는데 이 부분은 무엇을 뜻하는 건가요? 현재 저는 k3s로 master1대 agent3대로 구성해서 쓰고 있는데 4개 노드의 ip가 표시됩니다. 그런데 정확이 무엇을 의미하는지 모르겠습니다. 각 노드로 연결된다는 뜻일까요?

그리고 sslip.io의 작동 방식이 궁금합니다. 예를 들면 v1.echo.192.168.0.106.sslip.io 를 사용하면 외부 DNS 서버에서 192.168.0.106 이렇게 반환되는 건가요? 그렇다면 yaml 파일에서 host: v1.echo.192.168.0.106.sslip.io 이렇게 되있는데 일치하는게 아닌것 같아서요. 아니면 coredns 이쪽 부분에서 작동하는 건가요?

답변 1

답변을 작성해보세요.

0

안녕하세요!

ing 정보중에 ADDRESS는 외부에서 접근 가능한 주소라고 보시면 됩니다.

해당 ing로 접근하려면 도메인을 설정하고 바라보는 IP주소를 입력해야 하는데 그때 ADDRESS에 등록되어 있는 주소를 입력하면 됩니다.

AWS나 Google Cloud를 사용하면 여러개의 서버를 바라보는 하나의 로드밸런서를 생성하고 그 주소가 할당이 되는데, 지금 4개가 할당되었다는것은 별도의 로드밸런서가 없으므로 4개 중에 하나를 선택하시면 됩니다.

4개 중이 하나를 선택한다면 하나의 node가 죽었을때 서비스가 접속이 안될텐데 그럴땐 다른 IP를 선택해야 합니다. 이런 불편함을 막기 위해서 로드밸런서를 사용해야 하는데 지금 운영중인 환경이 로드밸런서를 지원하는지 확인이 필요합니다.

 

그리고 sslip.io는 말씀하신대로 DNS서버에서 변환을 해줍니다. v1.echo.192.168.0.106.sslip.io를 브라우저에 입력하면 브라우저는 192.168.0.106으로 요청을 보내고 요청의 Host header에 "v1.echo.192.168.0.106.sslip.io"를 같이 보내게 됩니다. 인그레스 컨트롤러가 192.168.0.106에 떠있다면 해당 컨트롤러에 요청을 하게 되고 ingress 설정중에 host가 "v1.echo.192.168.0.106.sslip.io"인 것을 찾아 응답을 하게 됩니다.

 

혹시 잘 이해가 안되시거나 추가로 궁금한점 있으면 문의주세요! 감사합니다.