4장. 분산 추적 플랫폼(Tempo)
4.1. 분산 추적 플랫폼(Tempo) 설치 링크 복사링크가 클립보드에 복사되었습니다!
Tempo Operator는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
분산 추적 플랫폼(Tempo)을 설치하려면 다음 단계를 수행해야 합니다.
- 지원되는 오브젝트 스토리지를 설정합니다.
- Tempo Operator 설치.
- 오브젝트 스토리지 인증 정보에 대한 시크릿 생성.
- TempoStack 인스턴스에 대한 네임스페이스 생성.
-
TempoStack
사용자 지정 리소스를 생성하여 TempoStack 인스턴스를 하나 이상 배포합니다.
4.1.1. 웹 콘솔에서 분산 추적 플랫폼(Tempo) 설치 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔의 관리자 보기에서 임시(Distributed tracing platform)를 설치할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할을 사용하여 클러스터 관리자로 OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다. -
Red Hat OpenShift Dedicated의 경우
dedicated-admin
역할의 계정을 사용하여 로그인해야 합니다. - 오브젝트 스토리지 공급자( Red Hat OpenShift Data Foundation,MinIO,Amazon S3,Azure Blob Storage,Google Cloud Storage )를 사용하고 있습니다.
절차
Tempo Operator를 설치합니다.
-
Operators
OperatorHub 로 이동하여 Tempo Operator
를 검색합니다. Tempo
Tempo Install Install View Operator 인 Tempo Operator 를 선택합니다. 중요이렇게 하면 기본 사전 설정을 사용하여 Operator가 설치됩니다.
-
채널
stable업데이트 -
설치 모드
클러스터의 모든 네임스페이스 -
설치된 네임스페이스
openshift-tempo-operator -
승인
자동업데이트
-
채널
- 설치된 Operator 페이지의 세부 정보 탭에서 ClusterServiceVersion 세부 정보 에서 설치 상태가 성공했는지 확인합니다.
-
Operators
-
후속 단계에서 생성할 TempoStack 인스턴스에 대해 선택한 프로젝트를 생성합니다. 홈
프로젝트 프로젝트 생성. TempoStack 인스턴스에 대해 생성한 프로젝트에서 오브젝트 스토리지 버킷에 대한 시크릿을 생성합니다. 워크로드
시크릿 → 생성 YAML에서. Expand 표 4.1. 필수 시크릿 매개변수 스토리지 공급자 시크릿 매개변수
이름: tempostack-dev-odf # example
버킷: <bucket_name> # requires an ObjectBucketClaim
endpoint: https://s3.openshift-storage.svc
access_key_id: <data_foundation_access_key_id>
access_key_secret: <data_foundation_access_key_secret>
MinIO
MinIO Operator 를 참조하십시오.
이름: tempostack-dev-minio # example
bucket: <minio_bucket_name> # MinIO documentation
endpoint: <minio_bucket_endpoint>
access_key_id: <minio_access_key_id>
access_key_secret: <minio_access_key_secret>
Amazon S3
이름: tempostack-dev-s3 # example
버킷: <s3_bucket_name> # Amazon S3 문서
endpoint: <s3_bucket_endpoint>
access_key_id: <s3_access_key_id>
access_key_secret: <s3_access_key_secret>
Microsoft Azure Blob Storage
이름: tempostack-dev-azure # example
컨테이너: <azure_blob_storage_container_name> # Microsoft Azure 설명서
account_name: <azure_blob_storage_account_name>
account_key: <azure_blob_storage_account_key>
GCP(Google Cloud Platform)의 Google Cloud Storage
이름: tempostack-dev-gcs # example
버킷 이름: {_cloud_storage_bucket_nam> # GCP 프로젝트에서 버킷 이 생성됨
key.json: <path/to/key.json> # GCP 인증을 위해 버킷의 GCP 프로젝트에 서비스 계정이 필요합니다.
Amazon S3 및 MinIO 스토리지의 시크릿 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow TempoStack 인스턴스를 생성합니다.
참고동일한 클러스터의 별도의 프로젝트에서 여러 TempoStack 인스턴스를 생성할 수 있습니다.
-
Operator
설치된 Operator 로 이동합니다. -
TempoStack
TempoStack YAML 보기를 선택합니다. YAML 보기에서
TempoStack
사용자 정의 리소스(CR)를 사용자 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS S3 및 MinIO 스토리지에 대한 TempoStack CR의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에 배포된 스택은 Jaeger UI로 데이터를 시각화할 수 있는 HTTP 및 OpenTelemetry Protocol(OTLP)을 통해 Jaeger Thrift를 수신하도록 구성되어 있습니다.
- 생성을 선택합니다.
-
Operator
검증
- Project: 드롭다운 목록을 사용하여 TempoStack 인스턴스의 프로젝트를 선택합니다.
-
Operator
설치된 Operator로 이동하여 TempoStack 인스턴스의 상태가 Condition: Ready 인지 확인합니다. -
워크로드
Pod 로 이동하여 TempoStack 인스턴스의 모든 구성 요소 Pod가 실행 중인지 확인합니다. Tempo 콘솔에 액세스합니다.
-
네트워킹
경로 및 Ctrl+F 로 이동하여 tempo
를 검색합니다. - Location 열에서 URL을 열어 Tempo 콘솔에 액세스합니다.
웹 콘솔의 클러스터 관리자 인증 정보를 사용하려면 OpenShift로 로그인을 선택합니다.
참고Tempo 콘솔은 처음에 Tempo 콘솔 설치 후 추적 데이터를 표시하지 않습니다.
-
네트워킹
4.1.2. CLI를 사용하여 분산 추적 플랫폼(Tempo) 설치 링크 복사링크가 클립보드에 복사되었습니다!
명령줄에서 분산 추적 플랫폼(Tempo)을 설치할 수 있습니다.
사전 요구 사항
cluster-admin
역할의 클러스터 관리자가 활성 OpenShift CLI(oc
) 세션입니다.작은 정보-
OpenShift CLI(
oc
) 버전이 최신 버전인지 확인하고 OpenShift Container Platform 버전과 일치하는지 확인합니다. oc login
을 실행합니다.oc login --username=<your_username>
$ oc login --username=<your_username>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
OpenShift CLI(
- 오브젝트 스토리지 공급자( Red Hat OpenShift Data Foundation,MinIO,Amazon S3,Azure Blob Storage,Google Cloud Storage )를 사용하고 있습니다.
절차
Tempo Operator를 설치합니다.
다음 명령을 실행하여 Tempo Operator에 대한 프로젝트를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 operator 그룹을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서브스크립션을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Operator 상태를 확인합니다.
oc get csv -n openshift-tempo-operator
$ oc get csv -n openshift-tempo-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
후속 단계에서 생성할 TempoStack 인스턴스에 대해 선택한 프로젝트를 생성합니다.
메타데이터 없이 표준 입력에서 프로젝트를 생성하려면 다음을 수행합니다.
oc new-project <project_of_tempostack_instance>
$ oc new-project <project_of_tempostack_instance>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 메타데이터를 사용하여 표준 입력에서 프로젝트를 생성하려면 다음을 수행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
TempoStack 인스턴스에 대해 생성한 프로젝트에서 다음 명령 중 하나를 실행하여 오브젝트 스토리지 버킷에 대한 시크릿을 생성합니다.
YAML 파일에서 보안을 생성하려면 다음을 수행합니다.
oc apply -f <secret_file>.yaml
$ oc apply -f <secret_file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 표준 입력에서 보안을 생성하려면 다음을 수행합니다.
oc apply -f - << EOF <object_storage_secret> EOF
$ oc apply -f - << EOF <object_storage_secret> EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 표 4.2. 필수 시크릿 매개변수 스토리지 공급자 시크릿 매개변수
이름: tempostack-dev-odf # example
버킷: <bucket_name> # requires an ObjectBucketClaim
endpoint: https://s3.openshift-storage.svc
access_key_id: <data_foundation_access_key_id>
access_key_secret: <data_foundation_access_key_secret>
MinIO
MinIO Operator 를 참조하십시오.
이름: tempostack-dev-minio # example
bucket: <minio_bucket_name> # MinIO documentation
endpoint: <minio_bucket_endpoint>
access_key_id: <minio_access_key_id>
access_key_secret: <minio_access_key_secret>
Amazon S3
이름: tempostack-dev-s3 # example
버킷: <s3_bucket_name> # Amazon S3 문서
endpoint: <s3_bucket_endpoint>
access_key_id: <s3_access_key_id>
access_key_secret: <s3_access_key_secret>
Microsoft Azure Blob Storage
이름: tempostack-dev-azure # example
컨테이너: <azure_blob_storage_container_name> # Microsoft Azure 설명서
account_name: <azure_blob_storage_account_name>
account_key: <azure_blob_storage_account_key>
GCP(Google Cloud Platform)의 Google Cloud Storage
이름: tempostack-dev-gcs # example
버킷 이름: {_cloud_storage_bucket_nam> # GCP 프로젝트에서 버킷 이 생성됨
key.json: <path/to/key.json> # GCP 인증을 위해 버킷의 GCP 프로젝트에 서비스 계정이 필요합니다.
Amazon S3 및 MinIO 스토리지의 시크릿 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
TempoStack 인스턴스에 대해 생성한 프로젝트에서 TempoStack 인스턴스를 생성합니다.
참고동일한 클러스터의 별도의 프로젝트에서 여러 TempoStack 인스턴스를 생성할 수 있습니다.
TempoStack
CR(사용자 정의 리소스)을 사용자 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS S3 및 MinIO 스토리지용 TempoStack CR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에 배포된 스택은 Jaeger UI로 데이터를 시각화할 수 있는 HTTP 및 OpenTelemetry Protocol(OTLP)을 통해 Jaeger Thrift를 수신하도록 구성되어 있습니다.
다음 명령을 실행하여 사용자 지정된 CR을 적용합니다.
oc apply -f - << EOF <TempoStack_custom_resource> EOF
$ oc apply -f - << EOF <TempoStack_custom_resource> EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 모든 TempoStack
구성 요소의
상태가
Running
이고조건이
type: Ready
인지 확인합니다.oc get tempostacks.tempo.grafana.com simplest -o yaml
$ oc get tempostacks.tempo.grafana.com simplest -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 모든 TempoStack 구성 요소 Pod가 실행 중인지 확인합니다.
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Tempo 콘솔에 액세스합니다.
다음 명령을 실행하여 경로 세부 정보를 쿼리합니다.
export TEMPO_URL=$(oc get route -n <control_plane_namespace> tempo -o jsonpath='{.spec.host}')
$ export TEMPO_URL=$(oc get route -n <control_plane_namespace> tempo -o jsonpath='{.spec.host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
웹 브라우저에서
https://<route_from_previous_step
>을 엽니다. 웹 콘솔의 클러스터 관리자 인증 정보를 사용하여 로그인합니다.
참고Tempo 콘솔은 처음에 Tempo 콘솔 설치 후 추적 데이터를 표시하지 않습니다.