3.2.5.5.2. 기존 Elasticsearch 인스턴스에 연결
분산 추적이 있는 스토리지에 기존 Elasticsearch 클러스터를 사용할 수 있습니다. 외부 Elasticsearch 인스턴스라고도 하는 기존 Elasticsearch 클러스터는 Red Hat OpenShift distributed tracing Platform Operator 또는 Red Hat Elasticsearch Operator에 의해 설치되지 않은 인스턴스입니다.
Jaeger 사용자 정의 리소스를 배포할 때 다음 구성이 설정된 경우 Red Hat OpenShift distributed tracing platform Operator가 Elasticsearch를 프로비저닝하지 않습니다.
-
spec.storage.elasticsearch.doNotProvision를true로 설정 -
spec.storage.options.es.server-urlshas a value -
spec.storage.elasticsearch.name에는 값이 있거나 Elasticsearch 인스턴스 이름이elasticsearch인 경우.
Red Hat OpenShift distributed tracing platform Operator는 spec.storage.elasticsearch.name 에 지정된 Elasticsearch 인스턴스를 사용하여 Elasticsearch에 연결합니다.
제한 사항
- 분산 추적 플랫폼에서 OpenShift Container Platform 로깅 Elasticsearch 인스턴스를 공유하거나 재사용할 수 없습니다. Elasticsearch 클러스터는 단일 분산 추적 플랫폼 인스턴스 전용입니다.
Red Hat은 외부 Elasticsearch 인스턴스를 지원하지 않습니다. Customer Portal에서 테스트된 통합 매트릭스를 검토할 수 있습니다.
다음 구성 매개변수는 외부 Elasticsearch 인스턴스 라고도 하는 기존 Elasticsearch 인스턴스에 대한 것입니다. 이 경우 spec:storage:options:es 사용자 지정 리소스 파일에서 Elasticsearch에 대한 구성 옵션을 지정합니다.
| 매개변수 | 설명 | 값 | 기본값 |
|---|---|---|---|
| Elasticsearch 인스턴스의 URL입니다. | Elasticsearch 서버의 정규화된 도메인 이름입니다. | |
|
Elasticsearch 쿼리에서 반환하는 최대 문서 수입니다. 이는 집계에도 적용됩니다. | 10000 | |
|
[더 이상 사용되지 않음 - 향후 릴리스에서 제거되며 대신 | 10000 | |
| Elasticsearch에서 기간에 대한 최대 조회 수입니다. | 72h0m0s | |
| Elasticsearch의 스니퍼 구성입니다. 클라이언트는 스니핑 프로세스를 사용하여 모든 노드를 자동으로 찾습니다. 기본적으로 비활성되어 있습니다. |
|
|
| Elasticsearch 클러스터를 스니핑할 때 TLS를 활성화하는 옵션입니다. 클라이언트는 스니핑 프로세스를 사용하여 모든 노드를 자동으로 찾습니다. 기본적으로 비활성화되어 있습니다. |
|
|
| 쿼리에 사용되는 시간 제한입니다. 0으로 설정하면 시간 제한이 없습니다. | 0s | |
|
Elasticsearch에 필요한 사용자 이름입니다. 기본 인증은 지정된 경우 CA도 로드합니다. | ||
|
Elasticsearch에 필요한 암호입니다. | ||
| 주요 Elasticsearch 버전입니다. 지정하지 않으면 Elasticsearch에서 값을 자동으로 탐지합니다. | 0 |
| 매개변수 | 설명 | 값 | 기본값 |
|---|---|---|---|
| Elasticsearch의 인덱스당 복제본 수입니다. | 1 | |
| Elasticsearch의 인덱스당 shard 수입니다. | 5 |
| 매개변수 | 설명 | 값 | 기본값 |
|---|---|---|---|
|
|
|
|
| 분산 추적 플랫폼 인덱스에 대한 선택적 접두사입니다. 예를 들어 이 값을 "production"으로 설정하면 "production-tracing-*"이라는 인덱스가 생성됩니다. |
| 매개변수 | 설명 | 값 | 기본값 |
|---|---|---|---|
| 대규모 프로세서가 디스크에 업데이트를 커밋하기 전에 큐에 추가할 수 있는 요청 수입니다. | 1000 | |
|
다른 임계값에 관계없이 대규모 요청이 커밋된 후 | 200ms | |
| 대규모 프로세서가 디스크에 업데이트를 커밋하기 전에 대규모 요청이 수행할 수 있는 바이트 수입니다. | 5000000 | |
| Elasticsearch에 대규모 요청을 수신하고 커밋할 수 있는 작업자 수입니다. | 1 |
| 매개변수 | 설명 | 값 | 기본값 |
|---|---|---|---|
| 원격 서버를 확인하는 데 사용되는 TLS 인증 기관(CA) 파일의 경로입니다. | 기본적으로 시스템 신뢰 저장소를 사용합니다. | |
| 이 프로세스를 원격 서버로 식별하는 데 사용되는 TLS 인증서 파일의 경로입니다. | ||
| 원격 서버에 연결할 때 TLS(Transport Layer Security)를 활성화합니다. 기본적으로 비활성되어 있습니다. |
|
|
| 이 프로세스를 원격 서버에 식별하는 데 사용되는 TLS 개인 키 파일의 경로입니다. | ||
| 원격 서버의 인증서에서 예상 TLS 서버 이름을 재정의합니다. | ||
| 전달자 토큰이 포함된 파일의 경로입니다. 이 플래그는 지정된 경우 CA(인증 기관) 파일도 로드합니다. |
| 매개변수 | 설명 | 값 | 기본값 |
|---|---|---|---|
| 대규모 프로세서가 디스크에 업데이트를 커밋하기 전에 큐에 추가할 수 있는 요청 수입니다. | 0 | |
|
다른 임계값에 관계없이 대규모 요청이 커밋된 후 | 0s | |
| 대규모 프로세서가 디스크에 업데이트를 커밋하기 전에 대규모 요청이 수행할 수 있는 바이트 수입니다. | 0 | |
| Elasticsearch에 대규모 요청을 수신하고 커밋할 수 있는 작업자 수입니다. | 0 | |
|
|
|
|
| 추가 스토리지를 활성화합니다. |
|
|
| 분산 추적 플랫폼 인덱스에 대한 선택적 접두사입니다. 예를 들어 이 값을 "production"으로 설정하면 "production-tracing-*"이라는 인덱스가 생성됩니다. | ||
| Elasticsearch 쿼리에서 반환하는 최대 문서 수입니다. 이는 집계에도 적용됩니다. | 0 | |
|
[더 이상 사용되지 않음 - 향후 릴리스에서 제거되며 대신 | 0 | |
| Elasticsearch에서 기간에 대한 최대 조회 수입니다. | 0s | |
| Elasticsearch의 인덱스당 복제본 수입니다. | 0 | |
| Elasticsearch의 인덱스당 shard 수입니다. | 0 | |
|
Elasticsearch에 필요한 암호입니다. | ||
|
Elasticsearch 서버의 쉼표로 구분된 목록입니다. 정규화된 URL로 지정해야 합니다(예: http://localhost:9200 | ||
| Elasticsearch의 스니퍼 구성입니다. 클라이언트는 스니핑 프로세스를 사용하여 모든 노드를 자동으로 찾습니다. 기본적으로 비활성되어 있습니다. |
|
|
| Elasticsearch 클러스터를 스니핑할 때 TLS를 활성화하는 옵션입니다. 클라이언트는 스니핑 프로세스를 사용하여 모든 노드를 자동으로 찾습니다. 기본적으로 비활성되어 있습니다. |
|
|
| 쿼리에 사용되는 시간 제한입니다. 0으로 설정하면 시간 제한이 없습니다. | 0s | |
| 원격 서버를 확인하는 데 사용되는 TLS 인증 기관(CA) 파일의 경로입니다. | 기본적으로 시스템 신뢰 저장소를 사용합니다. | |
| 이 프로세스를 원격 서버로 식별하는 데 사용되는 TLS 인증서 파일의 경로입니다. | ||
| 원격 서버에 연결할 때 TLS(Transport Layer Security)를 활성화합니다. 기본적으로 비활성되어 있습니다. |
|
|
| 이 프로세스를 원격 서버에 식별하는 데 사용되는 TLS 개인 키 파일의 경로입니다. | ||
| 원격 서버의 인증서에서 예상 TLS 서버 이름을 재정의합니다. | ||
| 전달자 토큰이 포함된 파일의 경로입니다. 이 플래그는 지정된 경우 CA(인증 기관) 파일도 로드합니다. | ||
|
Elasticsearch에 필요한 사용자 이름입니다. 기본 인증은 지정된 경우 CA도 로드합니다. | ||
| 주요 Elasticsearch 버전입니다. 지정하지 않으면 Elasticsearch에서 값을 자동으로 탐지합니다. | 0 |
볼륨 마운트가 있는 스토리지 예
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simple-prod
spec:
strategy: production
storage:
type: elasticsearch
options:
es:
server-urls: https://quickstart-es-http.default.svc:9200
index-prefix: my-prefix
tls:
ca: /es/certificates/ca.crt
secretName: tracing-secret
volumeMounts:
- name: certificates
mountPath: /es/certificates/
readOnly: true
volumes:
- name: certificates
secret:
secretName: quickstart-es-http-certs-public
다음 예는 시크릿에 저장된 볼륨 및 사용자/암호에서 마운트된 TLS CA 인증서가 포함된 외부 Elasticsearch 클러스터를 사용하는 Jaeger CR을 보여줍니다.
외부 Elasticsearch 예:
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simple-prod
spec:
strategy: production
storage:
type: elasticsearch
options:
es:
server-urls: https://quickstart-es-http.default.svc:9200
index-prefix: my-prefix
tls:
ca: /es/certificates/ca.crt
secretName: tracing-secret
volumeMounts:
- name: certificates
mountPath: /es/certificates/
readOnly: true
volumes:
- name: certificates
secret:
secretName: quickstart-es-http-certs-public
- 1
- 기본 네임스페이스에서 실행되는 Elasticsearch 서비스에 대한 URL입니다.
- 2
- TLS 구성입니다. 이 경우 CA 인증서만 해당하지만 상호 TLS를 사용하는 경우 es.tls.key 및 es.tls.cert를 포함할 수 있습니다.
- 3
- 환경 변수 ES_PASSWORD 및 ES_USERNAME을 정의하는 시크릿입니다. kubectl create secret generic tracing-secret --from-literal=ES_PASSWORD=changeme --from-literal=ES_USERNAME=elastic에서 생성됩니다.
- 4
- 모든 스토리지 구성 요소에 마운트되는 볼륨 마운트 및 볼륨입니다.