3.2. Knative 설정
Knative를 설정하려면 필요한 OpenShift Operator를 설치하고 Knative 채널을 생성해야 합니다.
3.2.1. OpenShift 클러스터 준비 링크 복사링크가 클립보드에 복사되었습니다!
Kamelets 및 OpenShift Serverless를 사용하려면 다음 operators, components, CLI 툴을 설치합니다.
Red Hat Integration - Camel K operator 및 CLI 툴 - Operator는 OpenShift의 클라우드에서 기본적으로 실행되는 경량 통합 프레임워크인 Camel K를 설치하고 관리합니다.
kamelCLI 툴을 사용하면 모든 Camel K 기능에 액세스할 수 있습니다.Camel K 설치의 설치 지침을 참조하십시오.
-
OpenShift Serverless operator - 컨테이너, 마이크로 서비스 및 함수가 "서버리스"를 실행할 수 있도록 하는 API 컬렉션을 제공합니다. 서버리스 애플리케이션은 필요에 따라 확장 및 축소할 수 있으며 다수의 이벤트 소스에 의해 트리거될 수 있습니다. OpenShift Serverless Operator를 설치하면
knative-serving네임스페이스( Knative Serving 구성 요소 설치용) 및knative-eventing네임스페이스( Knative Eventing 구성 요소 설치에 필요한)가 자동으로 생성됩니다. - Knative Eventing 구성 요소
- Knative Serving 구성 요소
-
Knative CLI 툴(
kn) - 명령줄 또는 쉘 스크립트 내에서 Knative 리소스를 생성할 수 있습니다.
3.2.1.1. OpenShift Serverless 설치 링크 복사링크가 클립보드에 복사되었습니다!
OperatorHub에서 OpenShift Serverless Operator를 OpenShift 클러스터에 설치할 수 있습니다. OperatorHub는 OpenShift Container Platform 웹 콘솔에서 사용할 수 있으며 클러스터 관리자가 Operator를 검색하고 설치할 수 있는 인터페이스를 제공합니다.
OpenShift Serverless Operator는 Knative Serving 및 Knative Eventing 기능을 모두 지원합니다. 자세한 내용은 OpenShift Serverless Operator 설치를 참조하십시오.
사전 요구 사항
- Camel K Operator가 설치된 OpenShift 프로젝트에 대한 클러스터 관리자 액세스 권한이 있습니다.
-
명령줄에서 OpenShift 클러스터와 상호 작용할 수 있도록
oc)를 설치했습니다. OpenShift CLI 설치 방법에 대한 자세한 내용은 OpenShift CLI 설치를 참조하십시오.
절차
- OpenShift Container Platform 웹 콘솔에서 클러스터 관리자 권한이 있는 계정을 사용하여 로그인합니다.
- 왼쪽 탐색 메뉴에서 Operator > OperatorHub 를 클릭합니다.
-
키워드로 필터링 텍스트 상자에 Serverless를 입력하여 OpenShift
ServerlessOperator 를 찾습니다. - Operator에 대한 정보를 읽은 다음 설치를 클릭하여 Operator 서브스크립션 페이지를 표시합니다.
기본 서브스크립션 설정을 선택합니다.
- 업데이트 채널 > OpenShift 버전과 일치하는 채널을 선택합니다(예: 4.12).
- 설치 모드 > 클러스터의 모든 네임스페이스
승인 전략 > 자동
참고환경에 필요한 경우 승인 전략 > 수동 설정도 사용할 수 있습니다.
- 설치를 클릭하고 Operator를 사용할 준비가 될 때까지 잠시 기다립니다.
OpenShift 문서의 단계를 사용하여 필요한 Knative 구성 요소를 설치합니다.
(선택 사항) OpenShift Serverless CLI 툴을 다운로드하여 설치합니다.
- OpenShift 웹 콘솔 상단에 있는 도움말 메뉴(?)에서 명령줄 툴 을 선택합니다.
- kn - OpenShift Serverless - Command Line Interface 섹션까지 아래로 스크롤합니다.
- 링크를 클릭하여 로컬 운영 체제(Linux, Mac, Windows)에 대한 바이너리를 다운로드합니다.
- 시스템 경로에 CLI의 압축을 풀고 설치합니다.
knCLI에 액세스할 수 있는지 확인하려면 명령 창을 열고 다음을 입력합니다.kn --help이 명령은 OpenShift Serverless CLI 명령에 대한 정보를 표시합니다.
자세한 내용은 OpenShift Serverless CLI 설명서 를 참조하십시오.
3.2.2. Knative 채널 생성 링크 복사링크가 클립보드에 복사되었습니다!
Knative 채널은 이벤트를 전달하는 사용자 정의 리소스입니다. 이벤트 소스 또는 생산자에서 채널로 이벤트를 보낸 후에는 서브스크립션을 통해 이러한 이벤트를 여러 Knative 서비스 또는 기타 싱크로 보낼 수 있습니다.
이 예제에서는 개발 목적으로 OpenShift Serverless와 함께 사용하는 InMemoryChannel 채널을 사용합니다. InMemoryChannel 유형 채널에는 다음과 같은 제한 사항이 있습니다.
- 이벤트 지속성은 제공되지 않습니다. Pod가 다운되면 해당 Pod의 이벤트도 손실됩니다.
-
InMemoryChannel채널에서는 이벤트에 순서를 지정하지 않으므로 해당 채널에서 두 개의 이벤트를 동시에 수신하는 경우 이벤트를 순서와 관계없이 구독자에게 전달할 수 있습니다. - 구독자가 이벤트를 거부하면 기본적으로 재전송을 시도하지 않습니다. Subscription 오브젝트의 delivery 사양을 수정하여 재전송 시도 횟수를 구성할 수 있습니다.
사전 요구 사항
- OpenShift Serverless Operator, Knative Eventing, Knative Serving 구성 요소가 OpenShift Container Platform 클러스터에 설치되어 있습니다.
-
OpenShift Serverless CLI(
kn)를 설치했습니다. - 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
절차
- OpenShift 클러스터에 로그인합니다.
통합 애플리케이션을 생성할 프로젝트를 엽니다. 예를 들면 다음과 같습니다.
oc project camel-k-knativeKnative(
kn) CLI 명령을 사용하여 채널 생성kn channel create <channel_name> --type <channel_type>예를 들어
mychannel이라는 채널을 생성하려면 다음을 수행합니다.kn 채널에서 mychannel --type messaging.knative.dev:v1:InMemoryChannel을 생성채널이 존재하는지 확인하려면 다음 명령을 입력하여 기존 채널을 모두 나열합니다.
kn channel list해당 채널이 목록에 표시됩니다.
3.2.3. Knative 브로커 생성 링크 복사링크가 클립보드에 복사되었습니다!
Knative 브로커는 CloudEvents 풀을 수집하기 위해 이벤트 메시를 정의하는 사용자 정의 리소스입니다. OpenShift Serverless에서는 kn CLI를 사용하여 생성할 수 있는 default Knative 브로커를 제공합니다.
예를 들어 애플리케이션이 여러 이벤트 유형을 처리하고 각 이벤트 유형에 대한 채널을 생성하지 않는 경우와 같이 Kamelet Binding에서 브로커를 사용할 수 있습니다.
사전 요구 사항
- OpenShift Serverless Operator, Knative Eventing, Knative Serving 구성 요소가 OpenShift Container Platform 클러스터에 설치되어 있습니다.
-
OpenShift Serverless CLI(
kn)를 설치했습니다. - 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
절차
- OpenShift 클러스터에 로그인합니다.
통합 애플리케이션을 생성할 프로젝트를 엽니다. 예를 들면 다음과 같습니다.
oc project camel-k-knative이 Knative(
kn) CLI 명령을 사용하여 브로커를 생성합니다.kn broker create default브로커가 현재 존재하는지 확인하려면 다음 명령을 입력하여 기존 브로커를 모두 나열합니다.
kn 브로커 목록
목록에 default 브로커가 표시되어야 합니다.