Ssoon
[4주차] CHAPTER-20 로키(Loki) 본문
이정훈님이 집필하신 "24단계 실습으로 정복하는 쿠버네티스" 로 진행하는 CloudNet@ 팀의 PKOS 4주차 정리입니다.
🧿 Loki ?
✔ 전체 로그 파일 단위로 인덱싱하지 않고 레이블 기반의 메타데이터만 인덱싱해서 인덱스에 소요되는 메모리 사용량이 현저히 적습니다.
✔ PrimQL과 유사한 전용 LogQL을 제공하여 편하고 빠르게 로그검색이 가능합니다.
✅ Loki 시스템의 구조와 설치
🧿 PLG (Promtail + Loki + Grafana) Stack
✔ 개별 Node에서 실행중인 여러 Pod의 로그를 중앙 서버에 저장하고 이를 조회
✔ Promtail
◾ Deamonset으로 실행되며, 운영 중인 모든 Node에 자동으로 설치합니다.
◾ 중앙의 Loki 서버로 각 Node에서 발생하는 모든 Log를 보내는 Agent 역활
✔ Loki는 다양한 Agent로부터 전달받은 Log를 자체 Datastore에 저장합니다.
✔ Metadata 기준으로 Index를 생성함으로써 자원 사용량이 현저히 적습니다.
✔ Loki에 저장한 Log는 전용 조회 언어인 LogQL을 이용해 조회
🧿 Loki 네임스페이스를 생성하고 이동합니다.
🧿 저자의 Github 에서 책내용의 Loki 버전(loki-2.12.2)을 다운로드 합니다.
https://github.com/wikibook/kubepractice/tree/main/ch20/loki-2.12.2
🧿 편집된 value.yaml을 확인합니다.
150 persistence:
151 enabled: true
152 accessModes:
153 - ReadWriteOnce
154 size: 10Gi
185
186 replicas: 2
187
🧿 Loki Helm 차트를 설치합니다.
🧿 저자의 Github 에서 책내용의 Promtail 버전(promtail-6.0.0)을 다운로드 합니다.
https://github.com/wikibook/kubepractice/tree/main/ch20/promtail-6.0.0
🧿 편집된 value.yaml을 확인합니다.
124 defaultVolumes:
125 - name: run
126 hostPath:
127 path: /run/promtail
128 - name: containers
129 hostPath:
130 path: /var/lib/docker/containers
131 - name: pods
132 hostPath:
133 path: /var/log/pods
🧿 Promtail Helm 차트를 설치합니다.
✔ Promtail은 전체 Node의 로그를 가져오기 위해 전체 Node에서 자동으로 실행되는 Deamonset형태로 실행
🧿 Grafana에서 Loki 데이터를 조회할 수 있도록 Geafana 데이터 소스에 Loki를 등록합니다.
🧿 Loki를 등록하기 위한 서비스 목록을 조회합니다.
🧿 Grafana의 Loki 서비스 URL을 등록합니다.
✔ http://<Loki의 서비스 이름>.<namespace 이름>:3100
✅ Loki를 이용한 쿠버네티스 로그 검색
🧿 NGINX 의 로드밸런서 IP을 확인하고 curl 을 이용해 NGINX에 접속하고 k logs을 통해 실시간 로그를 확인합니다.
# 작성중
'Production Kubernetes Online Study' 카테고리의 다른 글
[5주차] CHAPTER-21 쿠버네티스 보안 도구 (0) | 2023.04.04 |
---|---|
[4주차] 프로메테우스 & 그라파나 & 로키 (0) | 2023.03.31 |
[4주차] CHAPTER-19 얼럿매니저(alertmanager) (0) | 2023.03.30 |
[4주차] CHAPTER-18 그라파나(Grafana) (0) | 2023.03.29 |
[4주차] CHAPTER-17 프로메테우스(Prometheus) (2) | 2023.03.28 |