3.5. IntegrationSink 시작하기
OpenShift Serverless IntegrationSink 기능은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
IntegrationSink API는 Knative에서 외부 시스템으로 이벤트를 보낼 수 있는 Knative Eventing 사용자 정의 리소스(CR)입니다. Apache Camel 프로젝트에서 선택한 Kamelets를 활용합니다.
Kamelets는 소스 또는 싱크로 작동할 수 있는 재사용 가능한 커넥터로 작동합니다. IntegrationSink API를 사용하면 Knative Eventing 내에서 생성된 CloudEvent를 타사 서비스 및 외부 시스템에 안정적으로 제공할 수 있습니다.
OpenShift Serverless에서는 다음 Kamelet 싱크를 지원합니다.
- AWS S3(Simple Storage Service)
- AWS SNS(Simple Notification Service)
- AWS SQS(Simple Queue Service)
- 일반 로거 싱크
3.5.1. AWS 인증 정보 생성 링크 복사링크가 클립보드에 복사되었습니다!
여러 IntegrationSink API 리소스를 사용하려면 S3, Cryostat 및 SQS와 같은 AWS(Amazon Web Services) 서비스에 액세스해야 합니다. 안전하게 연결하려면 IntegrationSink API 리소스가 생성될 네임스페이스에 유효한 AWS 인증 정보가 포함된 Kubernetes 보안을 생성해야 합니다.
시크릿에는 대상 AWS 서비스에 액세스할 수 있는 충분한 권한이 있는 AWS 액세스 키 ID 및 시크릿 액세스 키가 포함되어야 합니다. 그러면 이 시크릿은 각 IntegrationSink 구성에서 참조됩니다.
사전 요구 사항
- 관련 서비스에 대한 액세스를 제공하는 액세스 키 ID 및 시크릿 액세스 키가 있는 AWS 계정이 있습니다.
- OpenShift CLI(oc)가 설치되어 클러스터에 로그인되어 있어야 합니다.
-
IntegrationSink리소스를 생성할 네임스페이스를 식별했습니다.
프로세스
다음 명령을 실행하여 시크릿을 생성합니다.
oc -n <namespace> create secret generic my-secret \ --from-literal=aws.accessKey=<accessKey> \ --from-literal=aws.secretKey=<secretKey>
$ oc -n <namespace> create secret generic my-secret \ --from-literal=aws.accessKey=<accessKey> \ --from-literal=aws.secretKey=<secretKey>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <
namespace>를IntegrationSink리소스가 생성될 네임스페이스로 바꾸고 <accessKey> 및 <secretKey>를 적절한 AWS 인증 정보로 대체합니다.
3.5.2. IntegrationSink를 사용한 AWS S3 링크 복사링크가 클립보드에 복사되었습니다!
Amazon Web Services(AWS) Simple Storage Service(S3) Kamelet을 사용하면 Knative Eventing에서 Amazon S3 버킷에 CloudEvent를 제공할 수 있습니다. 이러한 통합을 통해 장기 스토리지, 분석 또는 다운스트림 처리를 위해 이벤트를 오브젝트로 저장할 수 있습니다.
AWS S3의 IntegrationSink API를 구성하려면 유효한 AWS 인증 정보를 사용하여 Kubernetes 보안을 참조하고, Amazon S3 버킷 Amazon Resource Name(ARN)과 해당 리전을 지정하고 CloudEvents를 생성하는 소스를 구성해야 합니다.
3.5.2.1. AWS S3용 IntegrationSink 생성 링크 복사링크가 클립보드에 복사되었습니다!
IntegrationSink API 리소스를 생성하여 Knative Eventing에서 Amazon Simple Storage Service(S3) 버킷으로 CloudEvent를 전달할 수 있습니다. 이를 통해 이벤트 데이터를 S3의 오브젝트로 유지하여 장기적인 용도로 저장하거나, 분석 툴을 통해 처리하거나, 다운스트림 애플리케이션에서 사용할 수 있습니다. IntegrationSink 를 생성하여 YAML 매니페스트를 적용하여 Amazon S3 버킷에 CloudEvent를 전달할 수 있습니다.
사전 요구 사항
- AWS 인증 정보를 생성하고 리소스와 동일한 네임스페이스에 있는 Kubernetes 시크릿에 저장했습니다.
- OpenShift CLI(oc)가 설치되어 클러스터에 로그인되어 있어야 합니다.
-
IntegrationSink리소스가 생성될 네임스페이스를 알고 있습니다. - 이 싱크로 전달할 CloudEvent를 생성하기 위해 Knative 브로커 또는 다른 이벤트 소스가 있습니다.
프로세스
다음 YAML 매니페스트를
integration-sink-aws-s3.yaml로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 매니페스트를 적용합니다.
oc apply -f integration-sink-aws-s3.yaml
$ oc apply -f integration-sink-aws-s3.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 매니페스트는
eu-north-1리전의 ARN(arn:aws:s3:::my-bucket)으로 식별되는 Amazon S3 버킷에 CloudEvents를 전달하도록IntegrationSinkAPI를 구성합니다.auth.secret.ref.name필드는 AWS 인증 정보를 저장하는 Kubernetes Secret(my-secret)을 참조합니다.
3.5.3. AWS Cryostat with IntegrationSink 링크 복사링크가 클립보드에 복사되었습니다!
AWS(Amazon Web Services) SNS(Simple Notification Service) Kamelet을 사용하면 Knative Eventing에서 CloudEvents를 Cryostat 주제로 전달할 수 있습니다. 이 통합은 email, SMS, HTTP 구독자, SQS 대기열, Lambda 함수 등과 같은 광범위한 배포가 필요한 경우에 유용합니다.
AWS Cryostat에 대한 IntegrationSink API 리소스를 구성하려면 유효한 AWS 인증 정보가 있는 Kubernetes 시크릿을 참조하고, Cryostat 주제인 ARMN(Amazon Resource Name) 및 리전을 지정하고 CloudEvents를 생성할 이벤트 소스를 구성합니다.
3.5.3.1. AWS의 IntegrationSink 생성 링크 복사링크가 클립보드에 복사되었습니다!
IntegrationSink API 리소스를 생성하여 YAML 매니페스트를 적용하여 Knative Eventing의 CloudEvents를 Amazon SNS(Simple Notification Service) 항목에 게시할 수 있습니다.
사전 요구 사항
- AWS 인증 정보를 생성하고 리소스와 동일한 네임스페이스에 있는 Kubernetes 시크릿에 저장했습니다.
- OpenShift CLI(oc)가 설치되어 클러스터에 로그인되어 있어야 합니다.
-
IntegrationSink리소스가 생성될 네임스페이스를 알고 있습니다. - 이 싱크로 전달할 CloudEvent를 생성하기 위해 Knative 브로커 또는 다른 이벤트 소스가 있습니다.
프로세스
다음 YAML 매니페스트를
integration-sink-aws-sns.yaml로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 매니페스트를 적용합니다.
oc apply -f integration-sink-aws-sns.yaml
$ oc apply -f integration-sink-aws-sns.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 매니페스트는
eu-north-1리전의 ARN으로 식별된 CloudEvent 항목에 CloudEvents를 게시하도록IntegrationSinkAPI를 구성합니다.auth.secret.ref.name필드는 AWS 인증 정보를 저장하는 Kubernetes Secret(my-secret)을 참조합니다.
3.5.4. IntegrationSink를 사용한 AWS SQS 링크 복사링크가 클립보드에 복사되었습니다!
AWS(Amazon Web Services) SQS(Simple Queue Service) Kamelet을 사용하면 Knative Eventing에서 SQS 큐로 CloudEvents를 보낼 수 있습니다. 이 통합은 이벤트 생산자와 소비자 간에 안정적이고 분리된 메시지 전달이 필요하거나 대기열에서 이벤트를 비동기적으로 처리할 때 유용합니다.
AWS SQS에 대한 IntegrationSink API 리소스를 구성하려면 유효한 AWS 인증 정보를 사용하여 Kubernetes 보안을 참조하고, queue Amazon Resource Name(ARN) 및 리전을 지정하고, CloudEvents를 생성하는 이벤트 소스를 구성해야 합니다.
3.5.4.1. AWS SQS용 IntegrationSink 생성 링크 복사링크가 클립보드에 복사되었습니다!
IntegrationSink API 리소스를 생성하여 YAML 매니페스트를 적용하여 Amazon SQS 큐에 CloudEvents를 보낼 수 있습니다.
사전 요구 사항
- AWS 인증 정보를 생성하고 리소스와 동일한 네임스페이스에 있는 Kubernetes 시크릿에 저장했습니다.
- OpenShift CLI(oc)가 설치되어 클러스터에 로그인되어 있어야 합니다.
-
IntegrationSink리소스가 생성될 네임스페이스를 알고 있습니다. - 이 싱크로 전달될 CloudEvent를 생성하기 위해 Knative 브로커 또는 다른 이벤트 소스가 있습니다.
프로세스
다음 YAML 매니페스트를
integration-sink-aws-sqs.yaml로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 매니페스트를 적용합니다.
oc apply -f integration-sink-aws-sqs.yaml
$ oc apply -f integration-sink-aws-sqs.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 매니페스트는
eu-north-1리전의 ARN으로 식별된 SQS 큐에 CloudEvents를 전송하도록IntegrationSinkAPI를 구성합니다.auth.secret.ref.name필드는 AWS 인증 정보를 저장하는 Kubernetes Secret(my-secret)을 참조합니다.
3.5.5. IntegrationSink를 사용한 일반 로거 싱크 링크 복사링크가 클립보드에 복사되었습니다!
로그 Sink Kamelet을 사용하면 Knative Eventing에서 CloudEvents를 애플리케이션 로그에 직접 출력할 수 있습니다. 이 싱크는 주로 외부 시스템 없이도 이벤트 페이로드 및 메타데이터에 대한 가시성을 제공하기 때문에 이벤트 흐름을 디버깅하거나 테스트하는 데 사용됩니다.
로거에 대한 IntegrationSink API 리소스를 구성하려면 로깅 수준을 설정하고 선택적으로 이벤트 헤더를 표시할 수 있습니다.
3.5.5.1. Logger에 대한 IntegrationSink 생성 링크 복사링크가 클립보드에 복사되었습니다!
YAML 매니페스트를 적용하여 IntegrationSink API 리소스를 생성하여 CloudEvents를 기록할 수 있습니다.
사전 요구 사항
- OpenShift CLI(oc)가 설치되어 클러스터에 로그인되어 있어야 합니다.
-
IntegrationSink리소스가 생성될 네임스페이스를 알고 있습니다. - 이 싱크로 전달할 CloudEvent를 생성하기 위해 Knative 브로커 또는 다른 이벤트 소스가 있습니다.
프로세스
다음 YAML 매니페스트를
integration-log-sink.yaml로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 매니페스트를 적용합니다.
oc apply -f integration-log-sink.yaml
$ oc apply -f integration-log-sink.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 매니페스트는
INFO수준에서 수신하는 모든 CloudEvents를 기록하도록IntegrationSinkAPI 리소스를 구성합니다.showHeaders옵션은true로 설정되므로 이벤트의 HTTP 헤더도 기록됩니다.