Ingress 컨트롤러

Ingress 컨트롤러 (Ingress Controllers)

Ingress가 클러스터에서 작동하려면 ingress 컨트롤러가 실행 중이어야 해요. 인그레스 컨트롤러를 하나 이상 선택하고 클러스터에 설정해 두어야 해요. 이 페이지에서는 배포할 수 있는 일반적인 인그레스 컨트롤러를 소개할게요.

출처: Kubernetes 공식 문서 — Ingress Controllers

참고:

쿠버네티스 프로젝트는 Ingress 대신 Gateway 사용을 권장해요. Ingress API는 동결(frozen)됐어요. 이는 다음을 의미해요.

  • Ingress API는 일반적으로 사용 가능하며, 일반적으로 사용 가능한 API에 대한 안정성 보장의 대상이에요. 쿠버네티스 프로젝트는 Ingress를 쿠버네티스에서 제거할 계획이 없어요.
  • Ingress API는 더 이상 개발되지 않으며, 앞으로 변경이나 업데이트가 없을 거예요.

Ingress 컨트롤러

쿠버네티스는 프로젝트로서 AWSGCE 인그레스 컨트롤러를 지원하고 유지보수해요.

서드파티 인그레스 컨트롤러

참고: 이 섹션은 쿠버네티스가 요구하는 기능을 제공하는 서드파티 프로젝트를 링크해요. 쿠버네티스 프로젝트 작성자는 이 프로젝트들에 대해 책임지지 않으며, 이 목록은 알파벳순으로 나열돼요. 이 목록에 프로젝트를 추가하려면 변경을 제출하기 전에 내용 가이드를 읽어보세요. 더 많은 정보.

여러 Ingress 컨트롤러 사용하기

클러스터 안에서 ingress class를 사용해 원하는 수만큼 인그레스 컨트롤러를 배포할 수 있어요. ingress class 리소스의 .metadata.name을 기억해 두세요. 인그레스를 만들 때 그 이름이 필요해요. Ingress 객체의 ingressClassName 필드에 그 이름을 지정하면 돼요(IngressSpec v1 참조 참고).

ingressClassName은 더 오래된 애노테이션 방식의 대체품이에요.

Ingress에 IngressClass를 지정하지 않고, 클러스터에 기본으로 표시된 IngressClass가 정확히 하나 있다면, 쿠버네티스는 그 클러스터의 기본 IngressClass를 Ingress에 적용해요.

IngressClass에 ingressclass.kubernetes.io/is-default-class 애노테이션을 문자열 값 "true"로 설정하면 그 IngressClass를 기본으로 표시해요.

이상적으로 모든 인그레스 컨트롤러는 이 사양을 충족해야 하지만, 각각의 인그레스 컨트롤러는 조금씩 다르게 작동해요.

이 페이지의 항목은 쿠버네티스가 요구하는 기능을 제공하는 서드파티 제품이나 프로젝트를 가리켜요. 쿠버네티스 프로젝트 작성자는 그런 서드파티 제품이나 프로젝트에 대해 책임지지 않아요.