본문 바로가기
문서 목차
ORKESTRIX설치

검색/NoSQL (OpenSearch)

대용량 텍스트 검색 및 NoSQL 로그 분석을 위한 OpenSearch 를 구성합니다. OpenSearch Dashboards 로 데이터를 조회·시각화할 수 있습니다.

QUANTUM C&S

대용량 텍스트 검색 및 NoSQL 로그 분석을 위한 OpenSearch를 구성합니다. OpenSearch Dashboards로 데이터를 조회 · 시각화할 수 있습니다.

Fluent-bit이 수집한 로그가 Loki뿐 아니라 이 OpenSearch로도 동시에 전송됩니다.

설정값

inventory/qks/group_vars/all/all-k8s.yaml:

qks_opensearch_enabled: true
qks_opensearch_version: 3.6.0
qks_opensearch_replicas: 3
qks_opensearch_persistent_size: 50Gi
qks_opensearch_fqdn: "os.{{ kube_default_domain }}"

qks_opensearch_dashboards_version: 3.6.0
qks_opensearch_dashboards_fqdn: "kibana.{{ kube_default_domain }}"

실행

./install.sh ubuntu plays/qks-opensearch.yaml

설치 흐름

./install.sh ubuntu plays/qks-opensearch.yaml
  ├─ 1. 접속 도메인(OpenSearch, Dashboards)을 각 노드 /etc/hosts에 등록
  ├─ 2. Helm 저장소 등록 ('opensearch')
  ├─ 3. Helm으로 OpenSearch 배포 (3노드, 내장 PVC로 데이터 보관)
  ├─ 4. Helm으로 OpenSearch Dashboards 배포
  └─ 5. Traefik IngressRoute 생성 (HTTPS 백엔드 연결)

설치 확인

kubectl get pods -n <qks_opensearch_namespace> | grep -E "opensearch|kibana"

OpenSearch 파드(설정한 노드 수만큼)와 Dashboards 파드가 모두 Running이어야 합니다.

실제 동작 확인

클러스터 상태 확인:

kubectl exec -n <ns> qks-opensearch-0 -- curl -s -k -u admin:<pass> https://localhost:9200/_cluster/health?pretty

"status": "green"이면 정상입니다.

검색 기능(문서 저장 + 검색) 확인:

kubectl exec -n <ns> qks-opensearch-0 -- curl -s -k -u admin:<pass> -X POST "https://localhost:9200/gs-test/_doc/1" -d '{"message":"hello"}'
kubectl exec -n <ns> qks-opensearch-0 -- curl -s -k -u admin:<pass> "https://localhost:9200/gs-test/_search?q=message:hello"

방금 저장한 문서가 검색 결과에 나오면 정상입니다.

Dashboards 확인:

curl -k -s -o /dev/null -w "%{http_code}\n" https://<qks_opensearch_dashboards_fqdn>/

302(로그인 페이지로 리다이렉트)가 나오면 정상입니다.

다음 단계