3.2.5.5. 분산 추적 스토리지 구성 옵션
spec:storage
에서 Collector, Ingester 및 쿼리 서비스에 대한 스토리지를 구성합니다. 이러한 각 구성 요소의 여러 인스턴스는 성능 및 복원에 필요한 대로 프로비저닝할 수 있습니다.
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
spec: storage: type: | 배포에 사용할 스토리지 유형입니다. |
|
|
storage: secretname: |
시크릿 이름(예: | 해당 없음 | |
storage: options: {} | 스토리지를 정의하는 구성 옵션입니다. |
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
storage: esIndexCleaner: enabled: | Elasticsearch 스토리지를 사용하는 경우 기본적으로 인덱스에서 오래된 추적을 정리하는 작업이 생성됩니다. 이 매개변수는 인덱스 정리 작업을 활성화하거나 비활성화합니다. |
|
|
storage: esIndexCleaner: numberOfDays: | 인덱스를 삭제하기 전에 대기하는 날의 수입니다. | 정수 값 |
|
storage: esIndexCleaner: schedule: | Elasticsearch 인덱스를 정리하는 빈도에 대한 일정을 정의합니다. | Cron 표현식 | "55 23 * * *" |
3.2.5.5.1. Elasticsearch 인스턴스 자동 프로비저닝
Jaeger 사용자 정의 리소스를 배포할 때 Red Hat OpenShift distributed tracing Platform Operator는 OpenShift Elasticsearch Operator를 사용하여 사용자 정의 리소스 파일의 스토리지
섹션에 제공된 구성에 따라 Elasticsearch 클러스터를 생성합니다. 다음 구성이 설정된 경우 Red Hat OpenShift distributed tracing platform Operator는 Elasticsearch를 프로비저닝합니다.
-
spec.storage:type
이elasticsearch
로 설정됩니다. -
spec.storage.elasticsearch.doNotProvision
을false
로 설정 -
spec.storage.options.es.server-urls
가 정의되지 않습니다. 즉 Red Hat Elasticsearch Operator에서 프로비저닝하지 않은 Elasticsearch 인스턴스에 대한 연결이 없습니다.
Elasticsearch를 프로비저닝할 때 Red Hat OpenShift distributed tracing platform Operator는 Elasticsearch 사용자 정의 리소스 이름을
Jaeger 사용자 정의 리소스에서 spec.storage.elasticsearch.name
값으로 설정합니다. spec.storage.elasticsearch.name
에 대한 값을 지정하지 않으면 Operator는 elasticsearch
을 사용합니다.
제한 사항
- 네임스페이스당 자체 프로비저닝 Elasticsearch 인스턴스가 있는 하나의 분산 추적 플랫폼만 있을 수 있습니다. Elasticsearch 클러스터는 단일 분산 추적 플랫폼 인스턴스에 전용해야 합니다.
- 네임스페이스당 Elasticsearch가 하나만 있을 수 있습니다.
OpenShift Logging의 일부로 Elasticsearch를 이미 설치한 경우 Red Hat OpenShift distributed tracing platform Operator는 설치된 OpenShift Elasticsearch Operator를 사용하여 스토리지를 프로비저닝할 수 있습니다.
다음 구성 매개변수는 OpenShift Elasticsearch Operator를 사용하여 Red Hat OpenShift distributed tracing platform Operator에서 생성한 인스턴스인 자체 프로비저닝 Elasticsearch 인스턴스에 대한 것입니다. 구성 파일의 spec:storage:elasticsearch
에서 자체 프로비저닝 Elasticsearch에 대한 구성 옵션을 지정합니다.
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
elasticsearch: properties: doNotProvision: | 을 사용하여 Elasticsearch 인스턴스를 Red Hat OpenShift distributed tracing platform Operator에서 프로비저닝해야 하는지 여부를 지정합니다. |
|
|
elasticsearch: properties: name: | Elasticsearch 인스턴스의 이름입니다. Red Hat OpenShift distributed tracing platform Operator는 이 매개변수에 지정된 Elasticsearch 인스턴스를 사용하여 Elasticsearch에 연결합니다. | string |
|
elasticsearch: nodeCount: | Elasticsearch 노드 수입니다. 고가용성의 경우 최소 3개의 노드를 사용합니다. “스플릿 브레인” 문제가 발생할 수 있으므로 2개의 노드를 사용하지 마십시오. | 정수 값입니다. 예를 들면 개념 증명 = 1, 최소 배포 =3입니다. | 3 |
elasticsearch: resources: requests: cpu: | 사용자 환경 구성에 따른 요청에 대한 중앙 처리 단위 수입니다. | 코어 또는 밀리코어(예: 200m, 0.5, 1)에 지정되어 있습니다. 예를 들면 개념 증명 = 500m, 최소 배포 =1입니다. | 1 |
elasticsearch: resources: requests: memory: | 환경 구성에 따른 요청에 사용 가능한 메모리입니다. | 바이트로 지정됩니다(예: 200Ki, 50Mi, 5Gi). 예를 들면 개념 증명 = 1Gi, 최소 배포 = 16Gi*입니다. | 16Gi |
elasticsearch: resources: limits: cpu: | 사용자 환경 구성에 따른 중앙 처리 장치 수에 대한 제한입니다. | 코어 또는 밀리코어(예: 200m, 0.5, 1)에 지정되어 있습니다. 예를 들면 개념 증명 = 500m, 최소 배포 =1입니다. | |
elasticsearch: resources: limits: memory: | 사용자 환경 구성에 따라 사용 가능한 메모리 제한입니다. | 바이트로 지정됩니다(예: 200Ki, 50Mi, 5Gi). 예를 들면 개념 증명 = 1Gi, 최소 배포 = 16Gi*입니다. | |
elasticsearch: redundancyPolicy: | 데이터 복제 정책은 Elasticsearch shard가 클러스터의 데이터 노드에 복제되는 방법을 정의합니다. 지정하지 않으면 Red Hat OpenShift distributed tracing Platform Operator에서 노드 수에 따라 가장 적절한 복제를 자동으로 결정합니다. |
| |
elasticsearch: useCertManagement: | 을 사용하여 분산 추적 플랫폼에서 Red Hat Elasticsearch Operator의 인증서 관리 기능을 사용해야 하는지 여부를 지정합니다. 이 기능은 OpenShift Container Platform 4.7에서 Red Hat OpenShift 5.2에 대한 로깅 하위 시스템에 추가되었으며 새로운 Jaeger 배포의 기본 설정입니다. |
|
|
*각 Elasticsearch 노드는 더 낮은 메모리 설정으로 작동할 수 있지만 프로덕션 배포에는 권장되지 않습니다. 프로덕션 용도의 경우 기본적으로 각 Pod에 할당된 16Gi 미만이 있어야 하지만 Pod당 최대 64Gi까지 할당할 수도 있습니다. |
프로덕션 스토리지 예
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: simple-prod spec: strategy: production storage: type: elasticsearch elasticsearch: nodeCount: 3 resources: requests: cpu: 1 memory: 16Gi limits: memory: 16Gi
영구 스토리지가 있는 스토리지 예:
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simple-prod
spec:
strategy: production
storage:
type: elasticsearch
elasticsearch:
nodeCount: 1
storage: 1
storageClassName: gp2
size: 5Gi
resources:
requests:
cpu: 200m
memory: 4Gi
limits:
memory: 4Gi
redundancyPolicy: ZeroRedundancy
- 1
- 영구 스토리지 구성. 이 경우 AWS
gp2
에5Gi
크기가 있습니다. 값을 지정하지 않으면 분산 추적 플랫폼에서emptyDir
을 사용합니다. OpenShift Elasticsearch Operator는 분산 추적 플랫폼 인스턴스에서제거되지
않은PersistentVolumeClaim
및 PersistentVolume을 프로비저닝합니다. 동일한 이름과 네임스페이스를 사용하여 분산 추적 플랫폼 인스턴스를 생성하는 경우 동일한 볼륨을 마운트할 수 있습니다.