2장. OpenShift Serverless 개요
OpenShift Serverless에서는 개발자가 OpenShift Container Platform에서 서버리스 이벤트 중심 애플리케이션을 생성하고 배포할 수 있는 Kubernetes 기본 구성 블록을 제공합니다. 서버리스 애플리케이션은 요청 시 확장 및 축소(0)할 수 있으며 여러 이벤트 소스에 의해 트리거됩니다. OpenShift Serverless는 엔터프라이즈급 서버리스 플랫폼을 활성화하여 하이브리드 및 멀티 클라우드 환경에 이식성과 일관성을 제공하는 오픈 소스 Knative 프로젝트를 기반으로 합니다.
OpenShift Serverless는 OpenShift Container Platform과 다른 주기로 릴리스되므로 OpenShift Serverless 설명서는 이제 제품의 각 마이너 버전에 대한 별도의 문서 세트로 제공됩니다.
OpenShift Serverless 문서는 https://docs.openshift.com/serverless/ 에서 확인할 수 있습니다.
특정 버전에 대한 문서는 버전 선택기 드롭다운을 사용하거나 URL에 버전을 추가하여 직접 확인할 수 있습니다(예: https://docs.openshift.com/serverless/1.28 ).
또한 OpenShift Serverless 설명서는 https://access.redhat.com/documentation/en-us/red_hat_openshift_serverless/ 의 Red Hat 포털에서도 사용할 수 있습니다.
OpenShift Serverless 라이프 사이클 및 지원되는 플랫폼에 대한 자세한 내용은 플랫폼 라이프 사이클 정책을 참조하십시오.
2.1. OpenShift Serverless의 구성 요소
2.1.1. Knative Serving
Knative Serving은 Kubernetes에 빌드되어 서버리스 컨테이너로 애플리케이션 및 기능의 배포 및 서비스를 지원합니다. 서빙은 애플리케이션 배포를 단순화하고, 들어오는 트래픽을 기반으로 동적으로 확장하며 트래픽 분할을 통해 사용자 정의 롤아웃 전략을 지원합니다.
Knative Serving에는 다음 기능이 포함되어 있습니다.
- 서버리스 컨테이너 배포 간소화
- scale-to-zero를 포함한 트래픽 기반 자동 확장
- 라우팅 및 네트워크 프로그래밍
- 지정 시간 애플리케이션 스냅샷 및 해당 구성
2.1.2. Knative Eventing
Knative Eventing에서는 구성 가능 프리미티브를 제공하는 플랫폼을 제공하여 late-binding 이벤트 소스 및 이벤트 소비자를 활성화합니다.
Knative Eventing에서는 다음과 같은 아키텍처 클라우드 네이티브 개념을 지원합니다.
- 서비스는 개발 중에 느슨하게 결합되어 프로덕션에 독립적으로 배포됩니다.
- 생산자는 소비자가 수신 대기하기 전에 이벤트를 생성할 수 있으며, 소비자는 아직 생성되지 않은 이벤트 또는 이벤트 클래스에 대한 관심을 나타낼 수 있습니다.
- 서비스를 연결하여 생산자 또는 소비자를 수정하지 않고 특정 생산자에서 특정 이벤트 하위 집합을 선택할 수 있습니다.
2.1.3. OpenShift Serverless Functions
OpenShift Serverless Functions를 사용하면 Knative 서비스로 배포된 함수를 작성하고 Knative Serving 및 Eventing을 활용할 수 있습니다.
OpenShift Serverless Functions에는 다음 기능이 포함되어 있습니다.
다음 빌드 전략에 대한 지원:
- S2I(Source-to-Image)
- Buildpacks
- 여러 런타임
-
Knative(
kn
) CLI를 통한 로컬 개발자 경험 - 프로젝트 템플릿
- CloudEvents 및 일반 HTTP 요청 수신 지원
2.1.4. OpenShift Serverless Logic
OpenShift Serverless Logic을 사용하면 YAML 또는 JSON 파일을 사용하여 선언적 워크플로 모델을 정의할 수 있습니다. 선언적 워크플로 모델은 이벤트 중심 서버리스 애플리케이션을 오케스트레이션합니다. OpenShift Serverless Logic을 사용하면 워크플로우 실행을 시각화하여 디버깅 및 최적화를 간소화할 수 있습니다. 또한 기본 제공 오류 처리 및 내결함성을 포함하므로 워크플로우 실행 중에 발생하는 오류 및 예외를 더 쉽게 처리할 수 있습니다. OpenShift Serverless Logic은 CNCF Serverless Workflow 사양 을 구현합니다.
2.1.5. Knative CLI
Knative(kn
) CLI를 사용하면 명령줄에서 또는 쉘 스크립트 내에서 Knative 리소스를 생성할 수 있습니다. 광범위한 도움말 페이지 및 자동 완성 지원을 통해 Knative 리소스 스키마의 세부 구조를 암기할 수 있습니다.
Knative(kn
) CLI에는 다음 기능이 포함되어 있습니다.
다음 Knative Serving 기능 관리 지원
- 서비스
- 버전
- 라우트
다음 Knative Eventing 엔티티 관리 지원
- 소스
- 브로커
- Trigger
- 채널
- 서브스크립션
-
쿠버네티스 (
kubectl
) CLI 툴의 설계를 기반으로 하는 플러그인 아키텍처 - Knative를 Tekton 파이프라인에 통합