6장. Kourier 및 Istio 인그레스
OpenShift Serverless에서는 다음 두 가지 수신 솔루션을 지원합니다.
- Kourier
- Red Hat OpenShift Service Mesh를 사용하는 Istio
기본값은 Kourier입니다.
6.1. Kourier 및 Istio 인그레스 솔루션 링크 복사링크가 클립보드에 복사되었습니다!
6.1.1. Kourier 링크 복사링크가 클립보드에 복사되었습니다!
Kourier는 OpenShift Serverless의 기본 수신 솔루션입니다. 다음과 같은 속성이 있습니다.
- envoy 프록시를 기반으로 합니다.
- 단순하고 가벼움이 있습니다.
- Serverless에서 기능 집합을 제공하는 데 필요한 기본 라우팅 기능을 제공합니다.
- 기본 관찰 기능 및 메트릭을 지원합니다.
- Knative 서비스 라우팅의 기본 TLS 종료를 지원합니다.
- 제한된 구성 및 확장 옵션만 제공합니다.
6.1.2. OpenShift Service Mesh를 사용하는 Istio 링크 복사링크가 클립보드에 복사되었습니다!
Istio를 OpenShift Serverless의 수신 솔루션으로 사용하면 Red Hat OpenShift Service Mesh가 제공하는 기능을 기반으로 하는 추가 기능 세트가 활성화됩니다.
- 모든 연결 간의 기본 mTLS
- 서버리스 구성 요소는 서비스 메시의 일부입니다.
- 추가 관찰 기능 및 메트릭
- 인증 및 인증 지원
- Red Hat OpenShift Service Mesh에서 지원하는 사용자 정의 규칙 및 구성
그러나 추가 기능은 더 높은 오버헤드와 리소스 소비를 제공합니다. 자세한 내용은 Red Hat OpenShift Service Mesh 설명서를 참조하십시오.
Istio 요구 사항 및 설치 지침은 Serverless 문서의 "OpenShift Serverless를 사용하여 서비스 메시 통합" 섹션을 참조하십시오.
6.1.3. 트래픽 구성 및 라우팅 링크 복사링크가 클립보드에 복사되었습니다!
Kourier 및 Istio 인그레스의 아키텍처 다이어그램은 기술 및 개발자 프리뷰 릴리스 사이트에서 찾을 수 있습니다.
Kourier 또는 Istio 사용 여부에 관계없이 Knative 서비스의 트래픽은 net-kourier-controller
또는 net-istio-controller
에 의해 knative-serving
네임스페이스에 구성됩니다.
컨트롤러는 KnativeService
및 해당 하위 사용자 정의 리소스를 읽고 수신 솔루션을 구성합니다. 두 수신 솔루션 모두 트래픽 경로의 일부가 되는 수신 게이트웨이 Pod를 제공합니다. 두 수신 솔루션은 모두 Envoy를 기반으로 합니다. 기본적으로 Serverless에는 각 KnativeService
오브젝트에 대해 두 개의 경로가 있습니다.
-
OpenShift 라우터에서 전달하는 클러스터 외부 경로 (예:
myapp-namespace.example.com
) -
클러스터 도메인을 포함하는 클러스터 로컬 경로 (예:
myapp.namespace.svc.cluster.local
) 이 도메인은 Knative 또는 기타 사용자 워크로드에서 Knative 서비스를 호출하는 데 사용할 수 있습니다.
수신 게이트웨이는 serve 모드 또는 프록시 모드에서 요청을 전달할 수 있습니다.
- serve 모드에서 요청은 Knative 서비스의 Queue-Proxy 사이드카 컨테이너로 직접 이동합니다.
-
프록시 모드에서 요청은 먼저
knative-serving
네임스페이스의 Activator 구성 요소를 통과합니다.
모드 선택은 Knative, Knative 서비스 및 현재 트래픽의 구성에 따라 달라집니다. 예를 들어 Knative 서비스가 0으로 스케일링되면 새 Knative 서비스 Pod가 시작될 때까지 버퍼 역할을 하는 Activator 구성 요소로 요청이 전송됩니다.