모놀리식 Helm 차트 설치
Grafana Cloud를 사용하면 자체 Grafana Loki 인스턴스를 설치, 유지 관리 및 확장할 필요가 없습니다. 무료 계정을 만들어 시작하세요 (opens in a new tab). 여기에는 10k 메트릭, 50GB 로그, 50GB 추적, 500VUh k6 테스트 등에 대한 무료 영구 액세스가 포함됩니다.
이 Helm 차트 설치는 쿠버네티스 클러스터 내에 모놀리식 모드로 Grafana Loki를 배포합니다.
전제 조건
- Helm 3 이상. Helm 설치 (opens in a new tab)를 참조하십시오.
- 실행 중인 쿠버네티스 클러스터.
단일 복제본 또는 다중 복제본
Loki를 모놀리식 모드로 배포하는 방법에는 두 가지가 있습니다:
- 단일 복제본: 단일 복제본으로 Loki를 실행합니다. 이 모드는 테스트 및 개발 또는 Loki를 메타 모니터링 시스템으로 실행하려는 경우에 유용합니다.
- 다중 복제본: 여러 복제본으로 Loki를 실행합니다. 이 모드는 고가용성에 유용합니다. 이 모드는 마이크로서비스 모드보다 경제적이지는 않지만 운영하기가 더 간단합니다. 고가용성을 위해 최소 3개의 복제본을 실행하는 것이 좋습니다.
배포할 복제본 수를 선택했으면 아래에서 적절한 values.yaml
구성 파일을 선택한 다음 배포 단계를 계속 진행하십시오.
단일 복제본
단일 복제본으로 Helm 차트를 배포하면 다음 구성 요소가 배포됩니다:
- Loki (1 복제본)
- Loki Canary (1 DaemonSet)
- Loki 게이트웨이 (1 NGINX 복제본)
- Loki 청크 및 결과 캐시 (1 DaemonSet)
- Minio (선택 사항,
minio.enabled=true
인 경우)
구성 파일 values.yaml
을 만듭니다:
복제본을 1개만 사용하는 경우 commonConfig.replication_factor: 1
을 지정해야 합니다. 그렇지 않으면 요청이 실패합니다.
loki:
commonConfig:
replication_factor: 1
schemaConfig:
configs:
- from: "2024-04-01"
store: tsdb
object_store: s3
schema: v13
index:
prefix: loki_index_
period: 24h
pattern_ingester:
enabled: true
limits_config:
allow_structured_metadata: true
volume_enabled: true
ruler:
enable_api: true
minio:
enabled: true
deploymentMode: SingleBinary
singleBinary:
replicas: 1
# 다른 배포 모드의 복제본 수를 0으로 설정
backend:
replicas: 0
read:
replicas: 0
write:
replicas: 0
ingester:
replicas: 0
querier:
replicas: 0
queryFrontend:
replicas: 0
queryScheduler:
replicas: 0
distributor:
replicas: 0
compactor:
replicas: 0
indexGateway:
replicas: 0
bloomCompactor:
replicas: 0
bloomGateway:
replicas: 0
이 구성에서는 MinIO를 객체 스토리지로 사용하여 Loki를 배포합니다. 프로덕션 배포의 경우 클라우드 공급자를 통해 객체 스토리지를 구성하거나 Loki가 MinIO 클러스터를 가리키도록 하는 것이 좋습니다.
다중 복제본
여러 복제본으로 Helm 차트를 배포하면 다음 구성 요소가 배포됩니다:
- Loki (3 복제본)
- Loki Canary (1 DaemonSet)
- Loki 게이트웨이 (1 NGINX 복제본)
- Loki 청크 및 결과 캐시 (1 DaemonSet)
- Minio (선택 사항,
minio.enabled=true
인 경우)
구성 파일 values.yaml
을 만듭니다:
singleBinary.replicas
값을 2 이상으로 설정하면 이 차트는 Loki를 복제된 고가용성 모드에서 단일 바이너리로 실행하도록 구성합니다. 단일 바이너리 복제본을 실행할 때는 객체 스토리지를 구성해야 합니다.
loki:
commonConfig:
replication_factor: 3
schemaConfig:
configs:
- from: "2024-04-01"
store: tsdb
object_store: s3
schema: v13
index:
prefix: loki_index_
period: 24h
pattern_ingester:
enabled: true
limits_config:
allow_structured_metadata: true
volume_enabled: true
ruler:
enable_api: true
minio:
enabled: true
deploymentMode: SingleBinary
singleBinary:
replicas: 3
# 다른 배포 모드의 복제본 수를 0으로 설정
backend:
replicas: 0
read:
replicas: 0
write:
replicas: 0
ingester:
replicas: 0
querier:
replicas: 0
queryFrontend:
replicas: 0
queryScheduler:
replicas: 0
distributor:
replicas: 0
compactor:
replicas: 0
indexGateway:
replicas: 0
bloomCompactor:
replicas: 0
bloomGateway:
replicas: 0
이 구성에서는 commonConfig.replication_factor
와 singleBinary.replicas
를 원하는 복제본 수로 업데이트해야 합니다. MinIO를 객체 스토리지로 사용하여 Loki를 배포하고 있습니다. 프로덕션 배포의 경우 클라우드 공급자를 통해 객체 스토리지를 구성하거나 Loki가 MinIO 클러스터를 가리키도록 하는 것이 좋습니다.
개발 및 테스트용 Helm 차트 배포
-
Helm에 Grafana의 차트 저장소 (opens in a new tab)를 추가합니다:
helm repo add grafana https://grafana.github.io/helm-charts
-
차트 저장소를 업데이트합니다:
helm repo update
-
values.yaml
구성 파일을 사용하여 Loki를 배포합니다:helm install loki grafana/loki -f values.yaml
-
Loki 배포를 설치하거나 업그레이드합니다.
- 설치:
helm install --values values.yaml loki grafana/loki
- 업그레이드:
helm upgrade --values values.yaml loki grafana/loki
- 설치:
-
Loki가 실행 중인지 확인합니다:
kubectl get pods -n loki
객체 스토리지 구성
MinIO로 Loki를 테스트한 후 객체 스토리지 공급자로 Loki를 구성하는 것이 좋습니다. 다음 예제는 다양한 객체 스토리지 공급자로 Loki를 구성하는 방법을 보여줍니다:
S3 스토리지를 사용하여 Loki를 배포할 때 경고: 기본 버킷 이름인 chunk
, ruler
및 admin
을 사용하지 마십시오. 각 버킷에 대해 고유한 이름을 선택하십시오. 자세한 내용은 다음 보안 업데이트 (opens in a new tab)를 참조하십시오. 이 경고는 MinIO를 사용할 때는 적용되지 않습니다. MinIO를 사용할 때는 기본 버킷 이름을 사용하는 것이 좋습니다.
S3
다른 스토리지 공급자를 구성하려면 Helm 차트 참조를 참조하십시오.
프로덕션 환경에 Loki Helm 차트 배포
우리는 프로덕션 환경에 Loki를 배포하기 위한 더 많은 가이드를 제공하기 위해 적극적으로 노력하고 있습니다.
AWS, Azure 또는 GCP와 같은 클라우드 환경 내에서 대규모로 Loki를 실행하는 것이 좋습니다. 아래 가이드는 최소한의 실행 가능한 프로덕션 환경을 배포하는 방법을 보여줍니다.
다음 단계
- Loki로 로그 데이터를 보내도록 에이전트를 구성합니다.
- 메타 모니터링 Helm 차트를 사용하여 Loki 배포를 모니터링합니다.
원본: https://grafana.com/docs/loki/latest/setup/install/helm/install-monolithic/ (opens in a new tab)