Software Engineer

김상훈

Sanghun Kim

데이터 정합성과 시스템 신뢰성을 최우선으로 설계하는 금융 도메인 소프트웨어 엔지니어입니다.

rlatkdgns042@naver.com+82 10-2627-0378
대한민국 서울특별시 성동구

Ingress

June 23, 2024

Ingress

  • 클러스터 내의 서비스에 대한 외부 접근을 관리하는 API 오브젝트이며, 일반적으로 HTTP를 관리
  • 인그레스는 부하 분산, SSL 종료, 명칭 기반의 가상 호스팅을 제공
  • 인그레스를 사용하려면 인그레스 컨트롤러가 필요

개요

주요 기능

  • 외부 요청의 라우팅
  • 가상 호스트 기반의 요청 처리
  • SSL/TLS 보안 연결 처리

인그레스 컨트롤러

  • 인그레스는 단지 요청을 처리하는 규칙을 정의하는 선언적인 오브젝트이며, 외부 요청을 받아들일 수 있는 실제 서버가 아니므로, 인그레스를 생성했지만 아무런 변화도 일어나지 않음
  • 인그레스는 인그레스 컨트롤러(Ingress Controller)라고 하는 특수한 서버에 적용해야만 규칙을 사용할 수 있음
  • 인그레스 컨트롤러가 바인딩되어야 ADDRESS 정보가 출력됨
  • 실제로 외부 요청을 받아들이는 것은 인그레스 컨트롤러 서버이며, 이 서버가 인그레스 규칙을 로드해서 사용
    • Nginx 인그레스 컨트롤러도 그 종류 중 하나임

용어

  • 노드 (Node)
    • 클러스터의 일부이며, 쿠버네티스에 속한 워커 머신
  • 클러스터 (Cluster)
    • 쿠버네티스에서 관리되는 컨테이너화 된 애플리케이션을 실행하는 노드 집합
    • 이 예시와 대부분의 일반적인 쿠버네티스 배포에서 클러스터에 속한 노드는 퍼블릭 인터넷의 일부가 아님
  • 에지 라우터 (Edge router)
    • 클러스터에 방화벽 정책을 적용하는 라우터
    • 이것은 클라우드 공급자 또는 물리적 하드웨어의 일부에서 관리하는 게이트웨이일 수 있음
  • 클러스터 네트워크 (Cluster network)
    • 쿠버네티스 네트워킹 모델에 따라 클러스터 내부에서 통신을 용이하게 하는 논리적 또는 물리적 링크 집합
  • 서비스
    • 레이블 셀렉터를 사용해서 파드 집합을 식별하는 쿠버네티스 서비스
    • 달리 언급하지 않으면 서비스는 클러스터 네트워크 내에서만 라우팅 가능한 가상 IP를 가지고 있다고 가정

인그레스란

  • 인그레스는 클러스터 외부에서 클러스터 내부 서비스로 HTTP와 HTTPS 경로를 노출
  • 트래픽 라우팅은 인그레스 리소스에 정의된 규칙에 의해 컨트롤됨
  • 인그레스는 외부에서 서비스로 접속이 가능한 URL, 로드 밸런스 트래픽, SSL / TLS 종료 그리고 이름-기반의 가상 호스팅을 제공하도록 구성할 수 있음
  • 인그레스 컨트롤러는 일반적으로 로드 밸런서를 사용해서 인그레스를 수행할 책임이 있으며, 트래픽을 처리하는데 도움이 되도록 에지 라우터 또는 추가 프런트 엔드를 구성할 수도 있음
  • 인그레스는 임의의 포트 또는 프로토콜을 노출시키지 않음

Ingress Doc

https://kubernetes.io/ko/docs/concepts/services-networking/ingress/

댓글

댓글을 불러오는 중...