6.3. 관리자 화면의 서버리스 구성 요소

OpenShift Container Platform 웹 콘솔의 개발자 화면으로 전환하거나 Knative(kn) CLI 또는 YAML 파일을 사용하지 않으려면 OpenShift Container Platform 웹 콘솔의 Administator 화면을 사용하여 Knative 구성 요소를 생성할 수 있습니다.

6.3.1. 관리자 화면을 사용하여 서버리스 애플리케이션 생성

서버리스 애플리케이션은 경로와 구성으로 정의되고 YAML 파일에 포함된 Kubernetes 서비스로 생성 및 배포됩니다. OpenShift Serverless를 사용하여 서버리스 애플리케이션을 배포하려면 Knative Service 오브젝트를 생성해야 합니다.

Knative Service 오브젝트 YAML 파일의 예

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello 1
  namespace: default 2
spec:
  template:
    spec:
      containers:
        - image: docker.io/openshift/hello-openshift 3
          env:
            - name: RESPONSE 4
              value: "Hello Serverless!"

1
애플리케이션 이름입니다.
2
애플리케이션에서 사용하는 네임스페이스입니다.
3
애플리케이션 이미지입니다.
4
샘플 애플리케이션에서 출력한 환경 변수입니다.

서비스가 생성되고 애플리케이션이 배포되면 Knative에서 이 버전의 애플리케이션에 대해 변경할 수 없는 버전을 생성합니다. Knative는 또한 네트워크 프로그래밍을 수행하여 애플리케이션의 경로, 수신, 서비스 및 로드 밸런서를 생성하고 트래픽에 따라 Pod를 자동으로 확장합니다.

사전 요구 사항

관리자 화면을 사용하여 서버리스 애플리케이션을 생성하려면 다음 단계를 완료해야 합니다.

  • OpenShift Serverless Operator 및 Knative Serving이 설치되어 있습니다.
  • 웹 콘솔에 로그인한 후 관리자 화면에 있습니다.

절차

  1. ServerlessServing 페이지로 이동합니다.
  2. 생성 목록에서 서비스를 선택합니다.
  3. YAML 또는 JSON 정의를 수동으로 입력하거나 파일을 편집기로 끌어서 놓습니다.
  4. 생성을 클릭합니다.

6.3.2. 관리자 화면을 사용하여 이벤트 소스 생성

Knative 이벤트 소스는 클라우드 이벤트를 생성하거나 가져오는 모든 Kubernetes 오브젝트일 수 있으며 해당 이벤트를 싱크 라는 다른 끝점으로 중계할 수 있습니다. 이벤트에 대응하는 분산 시스템을 개발하는 데 소싱 이벤트가 중요합니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • 웹 콘솔에 로그인한 후 관리자 화면에 있습니다.
  • OpenShift Container Platform에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 ServerlessEventing으로 이동합니다.
  2. 생성 목록에서 이벤트 소스를 선택합니다. 그러면 이벤트 소스 페이지로 이동합니다.
  3. 생성할 이벤트 소스 유형을 선택합니다.

6.3.3. 관리자 화면을 사용하여 브로커 생성

브로커는 트리거와 함께 이벤트 소스에서 이벤트 싱크로 이벤트를 전달하는 데 사용할 수 있습니다. 이벤트는 HTTP POST 요청으로 이벤트 소스에서 브로커로 전송됩니다. 이벤트가 브로커에 진입하면 트리거를 사용하여 CloudEvent 속성에 의해 필터링되고 이벤트 싱크에 HTTP POST 요청으로 전송할 수 있습니다.

브로커 이벤트 전달 개요

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • 웹 콘솔에 로그인한 후 관리자 화면에 있습니다.
  • OpenShift Container Platform에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 ServerlessEventing으로 이동합니다.
  2. 생성 목록에서 브로커를 선택합니다. 그러면 브로커 생성 페이지로 이동합니다.
  3. 선택 사항: 브로커의 YAML 구성을 수정합니다.
  4. 생성을 클릭합니다.

6.3.4. 관리자 화면을 사용하여 트리거 생성

브로커는 트리거와 함께 이벤트 소스에서 이벤트 싱크로 이벤트를 전달하는 데 사용할 수 있습니다. 이벤트는 HTTP POST 요청으로 이벤트 소스에서 브로커로 전송됩니다. 이벤트가 브로커에 진입하면 트리거를 사용하여 CloudEvent 속성에 의해 필터링되고 이벤트 싱크에 HTTP POST 요청으로 전송할 수 있습니다.

브로커 이벤트 전달 개요

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • 웹 콘솔에 로그인한 후 관리자 화면에 있습니다.
  • OpenShift Container Platform에 대한 클러스터 관리자 권한이 있습니다.
  • Knative 브로커를 생성했습니다.
  • 구독자로 사용할 Knative 서비스를 생성했습니다.

절차

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 ServerlessEventing으로 이동합니다.
  2. 브로커 탭에서 트리거를 추가할 브로커의 옵션 메뉴 kebab 를 선택합니다.
  3. 목록에서 트리거 추가를 클릭합니다.
  4. 트리거 추가 대화 상자에서 트리거에 대한 구독자를 선택합니다. 구독자는 브로커에서 이벤트를 수신하는 Knative 서비스입니다.
  5. 추가를 클릭합니다.

6.3.5. 관리자 화면을 사용하여 채널 생성

채널은 단일 이벤트 전달 및 지속성 계층을 정의하는 사용자 정의 리소스입니다. 이벤트 소스 또는 생산자에서 채널로 이벤트를 보낸 후에는 서브스크립션을 사용하여 이러한 이벤트를 여러 Knative 서비스 또는 기타 싱크로 보낼 수 있습니다.

채널 워크플로 개요

지원되는 Channel 오브젝트를 인스턴스화하여 채널을 생성하고 Subscription 오브젝트의 delivery 사양을 수정하여 재전송 시도 횟수를 구성할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • 웹 콘솔에 로그인한 후 관리자 화면에 있습니다.
  • OpenShift Container Platform에 대한 클러스터 관리자 권한이 있습니다.

절차

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 ServerlessEventing으로 이동합니다.
  2. 생성 목록에서 채널을 선택합니다. 그러면 채널 페이지로 이동합니다.
  3. 유형 목록에서 생성할 Channel 오브젝트 유형을 선택합니다.

    참고

    현재 InMemoryChannel 채널 오브젝트만 기본적으로 지원됩니다. OpenShift Serverless에 Knative Kafka를 설치한 경우 Kafka 채널을 사용할 수 있습니다.

  4. 생성을 클릭합니다.

6.3.6. 관리자 화면을 사용하여 서브스크립션 생성

채널 및 이벤트 싱크를 생성한 후에는 구독자 라고도 하는 이벤트 싱크를 생성한 후 이벤트 전달을 활성화하는 서브스크립션을 생성할 수 있습니다. 서브스크립션은 서브스크립션 오브젝트를 구성하여 생성되며, 이는 채널을 지정하고 이벤트를 전달할 구독자를 지정합니다. 또한 오류 처리 방법과 같은 일부 구독자별 옵션을 지정할 수도 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Eventing이 OpenShift Container Platform 클러스터에 설치되어 있습니다.
  • 웹 콘솔에 로그인한 후 관리자 화면에 있습니다.
  • OpenShift Container Platform에 대한 클러스터 관리자 권한이 있습니다.
  • Knative 채널을 생성했습니다.
  • 구독자로 사용할 Knative 서비스를 생성했습니다.

절차

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 ServerlessEventing으로 이동합니다.
  2. 채널 탭에서 서브스크립션을 추가할 채널의 옵션 메뉴 kebab 를 선택합니다.
  3. 목록에서 서브스크립션 추가를 클릭합니다.
  4. 서브스크립션 추가 대화 상자에서 서브스크립션에 대한 구독자를 선택합니다. 구독자는 채널에서 이벤트를 수신하는 Knative 서비스입니다.
  5. 추가를 클릭합니다.

6.3.7. 추가 리소스