15장. Service Mesh에서 ContainerSource 사용
서비스 메시에서 컨테이너 소스를 사용할 수 있습니다.
15.1. 서비스 메시를 사용하여 ContainerSource 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 Service Mesh를 사용하여 컨테이너 소스를 구성하는 방법을 설명합니다.
사전 요구 사항
- Service Mesh 및 Serverless의 통합을 설정했습니다.
프로세스
의 멤버인 네임스페이스에 서비스를 생성합니다.ServiceMeshMemberRollevent-display-service.yaml구성 파일의 예apiVersion: serving.knative.dev/v1 kind: Service metadata: name: event-display namespace: <namespace>1 spec: template: metadata: annotations: sidecar.istio.io/inject: "true"2 sidecar.istio.io/rewriteAppHTTPProbers: "true" spec: containers: - image: quay.io/openshift-knative/knative-eventing-sources-event-display:latestService리소스를 적용합니다.$ oc apply -f event-display-service.yamlServiceMeshMemberRoll및 sink의 멤버인 네임스페이스에event-display로 설정된ContainerSource오브젝트를 생성합니다.test-heartbeats-containersource.yaml구성 파일의 예apiVersion: sources.knative.dev/v1 kind: ContainerSource metadata: name: test-heartbeats namespace: <namespace>1 spec: template: metadata:2 annotations: sidecar.istio.io/inject": "true" sidecar.istio.io/rewriteAppHTTPProbers: "true" spec: containers: # This corresponds to a heartbeats image URI that you have built and published - image: quay.io/openshift-knative/heartbeats name: heartbeats args: - --period=1s env: - name: POD_NAME value: "example-pod" - name: POD_NAMESPACE value: "event-test" sink: ref: apiVersion: serving.knative.dev/v1 kind: Service name: event-display-serviceContainerSource리소스를 적용합니다.$ oc apply -f test-heartbeats-containersource.yaml선택 사항: 메시지 덤퍼 기능 로그를 확인하여 이벤트가 Knative 이벤트 싱크로 전송되었는지 확인합니다.
명령 예
$ oc logs $(oc get pod -o name | grep event-display) -c user-container출력 예
☁️ cloudevents.Event Validation: valid Context Attributes, specversion: 1.0 type: dev.knative.eventing.samples.heartbeat source: https://knative.dev/eventing-contrib/cmd/heartbeats/#event-test/mypod id: 2b72d7bf-c38f-4a98-a433-608fbcdd2596 time: 2019-10-18T15:23:20.809775386Z contenttype: application/json Extensions, beats: true heart: yes the: 42 Data, { "id": 1, "label": "" }