Skip to content

Conversation

@manamana32321
Copy link
Member

@manamana32321 manamana32321 commented Jan 29, 2026

Description

Loki와 Tempo의 저장소를 중앙 MinIO(monitoring-minio)로 통합합니다. Stage와 Production 환경 모두에 적용됩니다.

변경 사항:

  • MinIO 디렉토리를 Kustomize base/overlay 구조로 전환 (stage + production)
  • ArgoCD Application을 ApplicationSet으로 전환하여 양 환경에 자동 배포
  • Loki: 내장 MinIO 비활성화, 중앙 MinIO S3 백엔드로 연결
  • Tempo: 로컬 PVC에서 중앙 MinIO S3 백엔드로 전환
  • monitoring-user Secret을 SSOT로 관리, Reflector로 monitoring-loki/monitoring-tempo 네임스페이스에 자동 복제
  • config.expand-env=true + secretKeyRef로 credential 주입 (CONSOLE_ACCESS_KEY → AWS_ACCESS_KEY_ID 매핑)
  • 기존 UsersCreationFailed 오류 해결 (admin과 동일한 credential 문제)

Additional context

closes TAS-2497

  • 배포 순서가 중요합니다: MinIO 정상화 → Reflector Secret 복제 확인 → Loki 배포 → Tempo 배포
  • 기존 Loki 내장 MinIO에 저장된 로그는 자동 마이그레이션되지 않습니다
  • SealedSecret은 각 클러스터의 kubeseal로 생성되었습니다

Before submitting the PR, please make sure you do the following

manamana32321 and others added 6 commits January 29, 2026 21:31
…ze layout

Converted flat directory structure to base/overlay pattern to support
multi-environment (stage/production) deployment with cluster-specific
SealedSecrets. Changed bucketDNS from true to false for path-style
S3 access compatibility with Loki/Tempo.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Convert single-environment Application to multi-environment
ApplicationSet with goTemplate generator for stage/production,
matching the pattern used by other monitoring components.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Enable S3 storage config pointing to central monitoring-minio with
env var expansion for credential injection via Reflector-replicated
Secret. Disable embedded MinIO subchart (50Gi savings per env).

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add S3 storage backend for trace data pointing to central
monitoring-minio with env var expansion for credential injection.
Ingester persistence retained for WAL (write-ahead log).

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Remove separate minio-credentials Secret. Instead, reference
monitoring-user Secret directly from Loki/Tempo using secretKeyRef
to map CONSOLE_ACCESS_KEY -> AWS_ACCESS_KEY_ID and
CONSOLE_SECRET_KEY -> AWS_SECRET_ACCESS_KEY.
Add Reflector annotations to monitoring-user for auto-replication
to monitoring-loki and monitoring-tempo namespaces.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Generate SealedSecrets with kubeseal for both clusters:
- tenant-config: admin credentials (unique per environment)
- monitoring-user: S3 access credentials with Reflector annotations
  for auto-replication to monitoring-loki and monitoring-tempo namespaces

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@skkuding-bot
Copy link

skkuding-bot bot commented Jan 29, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: 2109ee53c8c6efedca9dd5a25bfbf506037c591a
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 29, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: f18832ee89e4fba647747bffd9f2f380ee402540
Health Status: Healthy

Open Preview | View in Argo CD

@manamana32321 manamana32321 self-assigned this Jan 29, 2026
@notion-task-integration
Copy link

notion-task-integration bot commented Jan 29, 2026

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 29, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: 89ae8b9fb9507ddf69f1b710b2536846be7da734
Health Status: Healthy

Open Preview | View in Argo CD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants