This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.4. Knative Eventing CLI 명령
7.4.1. kn source 명령 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여 Knative 이벤트 소스를 나열, 생성 및 관리할 수 있습니다.
7.4.1.1. Knative CLI를 사용하여 사용 가능한 이벤트 소스 유형 나열 링크 복사링크가 클립보드에 복사되었습니다!
						kn source list-types CLI 명령을 사용하여 클러스터에서 생성하고 사용할 수 있는 이벤트 소스 유형을 나열할 수 있습니다.
					
사전 요구 사항
- OpenShift Serverless Operator 및 Knative Eventing이 클러스터에 설치되어 있습니다.
 - 
								Knative(
kn) CLI가 설치되어 있습니다. 
절차
터미널에서 사용 가능한 이벤트 소스 유형을 나열합니다.
kn source list-types
$ kn source list-typesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
TYPE NAME DESCRIPTION ApiServerSource apiserversources.sources.knative.dev Watch and send Kubernetes API events to a sink PingSource pingsources.sources.knative.dev Periodically send ping events to a sink SinkBinding sinkbindings.sources.knative.dev Binding for connecting a PodSpecable to a sink
TYPE NAME DESCRIPTION ApiServerSource apiserversources.sources.knative.dev Watch and send Kubernetes API events to a sink PingSource pingsources.sources.knative.dev Periodically send ping events to a sink SinkBinding sinkbindings.sources.knative.dev Binding for connecting a PodSpecable to a sinkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 사용 가능한 이벤트 소스 유형을 YAML 형식으로 나열할 수도 있습니다.
kn source list-types -o yaml
$ kn source list-types -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
7.4.1.2. Knative CLI 싱크 플래그 링크 복사링크가 클립보드에 복사되었습니다!
						Knative(kn) CLI를 사용하여 이벤트 소스를 생성할 때 --sink 플래그를 사용하여 해당 리소스에서 이벤트가 전송되는 싱크를 지정할 수 있습니다. 싱크는 다른 리소스에서 들어오는 이벤트를 수신할 수 있는 주소 지정 가능 또는 호출 가능한 리소스일 수 있습니다.
					
						다음 예제에서는 싱크로 서비스 http://event-display.svc.cluster.local 를 사용하는 싱크 바인딩을 생성합니다.
					
싱크 플래그를 사용하는 명령의 예
kn source binding create bind-heartbeat \ --namespace sinkbinding-example \ --subject "Job:batch/v1:app=heartbeat-cron" \ --sink http://event-display.svc.cluster.local \ --ce-override "sink=bound"
$ kn source binding create bind-heartbeat \
  --namespace sinkbinding-example \
  --subject "Job:batch/v1:app=heartbeat-cron" \
  --sink http://event-display.svc.cluster.local \ 
  --ce-override "sink=bound"
- 1
 http://event-display.svc.cluster.local의svc는 싱크가 Knative 서비스인지 확인합니다. 기타 기본 싱크 접두사에는channel, 및broker가 포함됩니다.
7.4.1.3. Knative CLI를 사용하여 컨테이너 소스 생성 및 관리 링크 복사링크가 클립보드에 복사되었습니다!
						kn 소스 컨테이너 명령을 사용하여 Knative(kn) CLI를 사용하여 컨테이너 소스를 생성하고 관리할 수 있습니다. Knative CLI를 사용하여 이벤트 소스를 생성하면 YAML 파일을 직접 수정하는 것보다 더 간소화되고 직관적인 사용자 인터페이스를 제공합니다.
					
컨테이너 소스 생성
kn source container create <container_source_name> --image <image_uri> --sink <sink>
$ kn source container create <container_source_name> --image <image_uri> --sink <sink>
컨테이너 소스 삭제
kn source container delete <container_source_name>
$ kn source container delete <container_source_name>
컨테이너 소스 설명
kn source container describe <container_source_name>
$ kn source container describe <container_source_name>
기존 컨테이너 소스 나열
kn source container list
$ kn source container list
YAML 형식으로 기존 컨테이너 소스 나열
kn source container list -o yaml
$ kn source container list -o yaml
컨테이너 소스 업데이트
이 명령은 기존 컨테이너 소스의 이미지 URI를 업데이트합니다.
kn source container update <container_source_name> --image <image_uri>
$ kn source container update <container_source_name> --image <image_uri>
7.4.1.4. Knative CLI를 사용하여 API 서버 소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
						kn source apiserver create 명령을 사용하여 kn CLI를 사용하여 API 서버 소스를 생성할 수 있습니다. kn CLI를 사용하여 API 서버 소스를 생성하면 YAML 파일을 직접 수정하는 것보다 더 효율적이고 직관적인 사용자 인터페이스가 제공됩니다.
					
사전 요구 사항
- OpenShift Serverless Operator 및 Knative Eventing이 클러스터에 설치되어 있습니다.
 - 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
 - 
								OpenShift CLI(
oc)가 설치되어 있습니다. - 
								Knative(
kn) CLI가 설치되어 있습니다. 
							기존 서비스 계정을 다시 사용하려면 새 리소스를 생성하는 대신 필요한 권한을 포함하도록 기존 ServiceAccount 리소스를 수정할 수 있습니다.
						
이벤트 소스에 대한 서비스 계정, 역할, 역할 바인딩을 YAML 파일로 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML 파일을 적용합니다.
oc apply -f <filename>
$ oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이벤트 싱크가 있는 API 서버 소스를 생성합니다. 다음 예에서 싱크는 브로커입니다.
kn source apiserver create <event_source_name> --sink broker:<broker_name> --resource "event:v1" --service-account <service_account_name> --mode Resource
$ kn source apiserver create <event_source_name> --sink broker:<broker_name> --resource "event:v1" --service-account <service_account_name> --mode ResourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow API 서버 소스가 올바르게 설정되었는지 확인하려면 수신되는 메시지를 로그로 덤프하는 Knative 서비스를 생성합니다.
kn service create <service_name> --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
$ kn service create <service_name> --image quay.io/openshift-knative/knative-eventing-sources-event-display:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 브로커를 이벤트 싱크로 사용한 경우
default브로커의 이벤트를 서비스에 필터링하는 트리거를 생성합니다.kn trigger create <trigger_name> --sink ksvc:<service_name>
$ kn trigger create <trigger_name> --sink ksvc:<service_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 네임스페이스에서 Pod를 시작하여 이벤트를 생성합니다.
oc create deployment hello-node --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest
$ oc create deployment hello-node --image quay.io/openshift-knative/knative-eventing-sources-event-display:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 출력을 다음 명령으로 검사하여 컨트롤러가 올바르게 매핑되는지 확인합니다.
kn source apiserver describe <source_name>
$ kn source apiserver describe <source_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
검증
메시지 덤퍼 기능 로그를 확인하면 Kubernetes 이벤트가 Knative로 전송되었는지 확인할 수 있습니다.
Pod를 가져옵니다.
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pod의 메시지 덤퍼 기능 로그를 확인합니다.
oc logs $(oc get pod -o name | grep event-display) -c user-container
$ oc logs $(oc get pod -o name | grep event-display) -c user-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
API 서버 소스 삭제
트리거를 삭제합니다.
kn trigger delete <trigger_name>
$ kn trigger delete <trigger_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이벤트 소스를 삭제합니다.
kn source apiserver delete <source_name>
$ kn source apiserver delete <source_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 계정, 클러스터 역할, 클러스터 바인딩을 삭제합니다.
oc delete -f authentication.yaml
$ oc delete -f authentication.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
7.4.1.5. Knative CLI를 사용하여 ping 소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
						kn 소스 ping create 명령을 사용하여 Knative(kn) CLI를 사용하여 ping 소스를 생성할 수 있습니다. Knative CLI를 사용하여 이벤트 소스를 생성하면 YAML 파일을 직접 수정하는 것보다 더 간소화되고 직관적인 사용자 인터페이스를 제공합니다.
					
사전 요구 사항
- OpenShift Serverless Operator, Knative Serving 및 Knative Eventing이 클러스터에 설치되어 있습니다.
 - 
								Knative(
kn) CLI가 설치되어 있습니다. - 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
 - 
								선택 사항: 이 프로세스에 대한 확인 단계를 사용하려면 OpenShift CLI(
oc)를 설치합니다. 
절차
ping 소스가 작동하는지 확인하려면 수신 메시지를 서비스 로그에 덤프하는 간단한 Knative 서비스를 생성합니다.
kn service create event-display \ --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest$ kn service create event-display \ --image quay.io/openshift-knative/knative-eventing-sources-event-display:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 요청할 각 ping 이벤트 세트에 대해 이벤트 소비자와 동일한 네임스페이스에 ping 소스를 생성합니다.
kn source ping create test-ping-source \ --schedule "*/2 * * * *" \ --data '{"message": "Hello world!"}' \ --sink ksvc:event-display$ kn source ping create test-ping-source \ --schedule "*/2 * * * *" \ --data '{"message": "Hello world!"}' \ --sink ksvc:event-displayCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하고 출력을 검사하여 컨트롤러가 올바르게 매핑되는지 확인합니다.
kn source ping describe test-ping-source
$ kn source ping describe test-ping-sourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
검증
싱크 Pod의 로그를 보면 Kubernetes 이벤트가 Knative 이벤트 싱크로 전송되었는지 확인할 수 있습니다.
Knative 서비스는 기본적으로 60초 이내에 트래픽이 수신되지 않으면 Pod를 종료합니다. 이 가이드에 표시된 예제에서는 2분마다 메시지를 전송하는 ping 소스를 생성하므로 새로 생성된 Pod에서 각 메시지를 관찰해야 합니다.
새 Pod가 생성되었는지 확인합니다.
watch oc get pods
$ watch oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ctrl+C를 사용하여 Pod를 감시한 다음 생성한 Pod의 로그를 확인합니다.
oc logs $(oc get pod -o name | grep event-display) -c user-container
$ oc logs $(oc get pod -o name | grep event-display) -c user-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
ping 소스 삭제
ping 소스를 삭제합니다.
kn delete pingsources.sources.knative.dev <ping_source_name>
$ kn delete pingsources.sources.knative.dev <ping_source_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
7.4.1.6. Knative CLI를 사용하여 Kafka 이벤트 소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
						kn source kafka create 명령을 사용하여 Knative(kn) CLI를 사용하여 Kafka 소스를 생성할 수 있습니다. Knative CLI를 사용하여 이벤트 소스를 생성하면 YAML 파일을 직접 수정하는 것보다 더 간소화되고 직관적인 사용자 인터페이스를 제공합니다.
					
사전 요구 사항
- 
								OpenShift Serverless Operator, Knative Eventing, Knative Serving, 
KnativeKafka사용자 정의 리소스(CR가 클러스터에 설치되어 있습니다. - 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
 - 가져오려는 Kafka 메시지를 생성하는 Red Hat AMQ Streams(Kafka) 클러스터에 액세스할 수 있습니다.
 - 
								Knative(
kn) CLI가 설치되어 있습니다. - 
								선택 사항: 이 절차의 확인 단계를 사용하려면 OpenShift CLI(
oc)를 설치했습니다. 
절차
Kafka 이벤트 소스가 작동하는지 확인하려면 수신 이벤트를 서비스 로그에 덤프하는 Knative 서비스를 생성합니다.
kn service create event-display \ --image quay.io/openshift-knative/knative-eventing-sources-event-display$ kn service create event-display \ --image quay.io/openshift-knative/knative-eventing-sources-event-displayCopy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaSourceCR을 생성합니다.kn source kafka create <kafka_source_name> \ --servers <cluster_kafka_bootstrap>.kafka.svc:9092 \ --topics <topic_name> --consumergroup my-consumer-group \ --sink event-display$ kn source kafka create <kafka_source_name> \ --servers <cluster_kafka_bootstrap>.kafka.svc:9092 \ --topics <topic_name> --consumergroup my-consumer-group \ --sink event-displayCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령의 자리 표시자 값을 소스 이름, 부트스트랩 서버 및 주제의 값으로 바꿉니다.
--servers,--topics,--consumergroup옵션은 Kafka 클러스터에 대한 연결 매개 변수를 지정합니다.--consumergroup옵션은 선택 사항입니다.선택 사항: 생성한
KafkaSourceCR에 대한 세부 정보를 확인합니다.kn source kafka describe <kafka_source_name>
$ kn source kafka describe <kafka_source_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
검증 단계
Kafka 인스턴스를 트리거하여 메시지를 항목에 보냅니다.
oc -n kafka run kafka-producer \ -ti --image=quay.io/strimzi/kafka:latest-kafka-2.7.0 --rm=true \ --restart=Never -- bin/kafka-console-producer.sh \ --broker-list <cluster_kafka_bootstrap>:9092 --topic my-topic$ oc -n kafka run kafka-producer \ -ti --image=quay.io/strimzi/kafka:latest-kafka-2.7.0 --rm=true \ --restart=Never -- bin/kafka-console-producer.sh \ --broker-list <cluster_kafka_bootstrap>:9092 --topic my-topicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프롬프트에 메시지를 입력합니다. 이 명령은 다음을 가정합니다.
- 
										Kafka 클러스터는 
kafka네임스페이스에 설치됩니다. - 
										
my-topic주제를 사용하도록KafkaSource오브젝트가 구성되어 있습니다. 
- 
										Kafka 클러스터는 
 로그를 보고 메시지가 도착했는지 확인합니다.
oc logs $(oc get pod -o name | grep event-display) -c user-container
$ oc logs $(oc get pod -o name | grep event-display) -c user-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow