2.2. CLI를 사용하여 OpenTelemetry Red Hat 빌드 설치
명령줄에서 OpenTelemetry의 Red Hat 빌드를 설치할 수 있습니다.
사전 요구 사항
cluster-admin역할의 클러스터 관리자가 활성 OpenShift CLI(oc) 세션입니다.작은 정보-
OpenShift CLI(
oc) 버전이 최신 버전인지 확인하고 OpenShift Container Platform 버전과 일치하는지 확인합니다. oc login을 실행합니다.$ oc login --username=<your_username>
-
OpenShift CLI(
프로세스
OpenTelemetry Operator의 Red Hat 빌드를 설치합니다.
다음 명령을 실행하여 Red Hat build of OpenTelemetry Operator 프로젝트를 생성합니다.
$ oc apply -f - << EOF apiVersion: project.openshift.io/v1 kind: Project metadata: labels: kubernetes.io/metadata.name: openshift-opentelemetry-operator openshift.io/cluster-monitoring: "true" name: openshift-opentelemetry-operator EOF다음 명령을 실행하여 Operator group을 생성합니다.
$ oc apply -f - << EOF apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-opentelemetry-operator namespace: openshift-opentelemetry-operator spec: upgradeStrategy: Default EOF다음 명령을 실행하여 서브스크립션을 생성합니다.
$ oc apply -f - << EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: opentelemetry-product namespace: openshift-opentelemetry-operator spec: channel: stable installPlanApproval: Automatic name: opentelemetry-product source: redhat-operators sourceNamespace: openshift-marketplace EOF다음 명령을 실행하여 Operator 상태를 확인합니다.
$ oc get csv -n openshift-opentelemetry-operator
후속 단계에서 생성할 OpenTelemetry 수집기 인스턴스에 대해 선택한 프로젝트를 생성합니다.
메타데이터 없이 프로젝트를 생성하려면 다음 명령을 실행합니다.
$ oc new-project <project_of_opentelemetry_collector_instance>메타데이터로 프로젝트를 생성하려면 다음 명령을 실행합니다.
$ oc apply -f - << EOF apiVersion: project.openshift.io/v1 kind: Project metadata: name: <project_of_opentelemetry_collector_instance> EOF
사용자가 생성한 프로젝트에서 OpenTelemetry 수집기 인스턴스를 생성합니다.
참고동일한 클러스터의 별도의 프로젝트에서 여러 OpenTelemetry 수집기 인스턴스를 생성할 수 있습니다.
OTLP, Jaeger 및 Zipkin 수신기 및 디버그 내보내기를 사용하여
OpenTelemetry 수집기CR(사용자 정의 리소스)을 사용자 지정합니다.apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: otel namespace: <project_of_opentelemetry_collector_instance> spec: mode: deployment config: | receivers: otlp: protocols: grpc: http: jaeger: protocols: grpc: thrift_binary: thrift_compact: thrift_http: zipkin: processors: batch: memory_limiter: check_interval: 1s limit_percentage: 50 spike_limit_percentage: 30 exporters: debug: service: pipelines: traces: receivers: [otlp,jaeger,zipkin] processors: [memory_limiter,batch] exporters: [debug]다음 명령을 실행하여 사용자 지정된 CR을 적용합니다.
$ oc apply -f - << EOF <OpenTelemetryCollector_custom_resource> EOF
검증
다음 명령을 실행하여 OpenTelemetry 수집기 Pod의
status.phase이Running이고conditions가type: Ready인지 확인합니다.$ oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yaml다음 명령을 실행하여 OpenTelemetry 수집기 서비스를 가져옵니다.
$ oc get service -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name>