실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
프로메테우스(🔥)를 가장 쉽고 빠르게 이해하기 위해 실습 위주로 구성했습니다. 🧭 특히 이미 검증된 베스트셀러 '컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커'에서 검증된 내용을 더욱 확장해서 프로메테우스 자체를 더 깊이 학습하도록 작성하였습니다. 💯 또한 실무적인 내용들이 '보강 수업'에 주기적으로 추가되어 있습니다. 프로메테우스를 이와 같이 깊고 넓게 다룬 강의는 없다고 자신합니다!
![Thumbnail](https://cdn.inflearn.com/public/courses/327621/cover/183b3a11-e09b-4a82-8bad-e0f0aea47fc5/327621.png?w=736)
중급자를 위해 준비한
[데브옵스 · 인프라, 클라우드] 강의입니다.
이런 걸
배워요!
쿠버네티스와 외부 메트릭을 노출하는 환경에 대한 모니터링
프로메테우스를 마음껏 실습할 수 있는 나만의 환경 만들기
프로메테우스의 서비스 디스커버리 원리
Prometheus Query Language(PromQL)
PromQL을 축약해서 사용할 수 있는 Recording Rules
문제가 생겼을때 경보를 받을 수 있는 AlertManager
네이티브 프로메테우스와 프로메테우스 오퍼레이터의 차이
클라우드 업체에서 사용하는 프로메테우스 오퍼레이터
ServiceMonitor와 PodMonitor 사용법
엔드포인트를 모니터링할 수 있는 프로메테우스 블랙박스
실무에서 사용할 수 있는 프로메테우스 PromQL
프로메테우스, 기초부터 실무까지 한번에!
가장 쉽고 넓은 프로메테우스 가이드.
⚓ 쿠버네티스 모니터링에 필요한 프로메테우스를 가장 쉽고, 넓게 다룹니다.
📢 쿠버네티스 v1.30 로 실습 업데이트!
- 2024년 6월 16일에 쿠버네티스 실습이 v1.30에 맞게 변경되었습니다.
- 이에 따라 ch2는 전체 강의에서 공통 사용되는 형태로 변경되었으며, 기존에 ch2에 있던 것은 프로메테우스 배포는 2.11로 변경되었습니다.
- 또한 기본 운영체제를 센트OS 7에서 우분투 22.04로 변경하였습니다.
- v1.30 업데이트를 위해서 추가 촬영된 영상은 없습니다.
- 기존 보강은 A이 저장해두었고, v1.30이후는 B로 진행됩니다.
- 🎉 맥 실리콘 (M1, M2, M3 / arm64)을 이제 공식적으로 지원합니다. 미리보기로 공개된 영상을 확인해 보세요! 😄 다만 하버는 arm64 이미지를 제공하지 않기 때문에 해당 부분은 방법을 고민 중입니다. 이에 6.3과 9.2는 추후 다시 공지 드리겠습니다.
이 강의는 🔥 프로메테우스(Prometheus)를 문서를 통해 배울 때 어려움을 겪는 부분들을 구조적으로 정리하고, 모든 내용을 실습하여 프로메테우스를 조금 더 쉽게 배울 수 있도록 구성한 강의입니다.
💡 강의 등록 전에 알아두면 좋을 점
- 프로메테우스는 단독으로 쓰이는 것이 아니라 인프라 시스템과 유기적으로 엮여서 사용되기 때문에 현재 인프라 시스템인 쿠버네티스에 대한 사전 지식이 꼭 필요합니다. 해당 사전 지식이 없는 경우 강의 진행이 어려우므로 해당 내용을 꼭 확인하시기 바랍니다.
- 위의 내용을 포함하여 강의 내용을 이해하고 싶으시다면, 미리보기로 무료 공개된 5.9.배운 것을 종합해서 보다 의미 있는 PromQL 만들기 수업을 먼저 시청해보시길 추천드립니다.
- 위의 내용들이 충분히 괜찮고, 현재 강의 목록이 도움이 되실 것이라고 판단되면 강의를 진행해주시는 것을 추천드립니다.
모니터링(메트릭) 파이프라인과 로그 파이프라인
그밖에 프로메테우스를 설명하는 그림들
이번 강의는 프로메테우스의 구성 요소, 동작 원리 그리고 이에 대한 응용을 쉽게 이해할 수 있도록 커리큘럼을 구조화하여 실제 업무에 프로메테우스를 적용할 때 메커니즘을 충분히 이해하고 구축할 수 있도록 하고자 제작되었습니다. 수강생이 이러한 목표를 효과적으로 달성할 수 있도록 아래와 같은 구성에 따라 진행됩니다.
Part 1. 프로메테우스에 대한 이해 및 구성
- ch1: 모니터링이란?
- ch2: 『공통』 쿠버네티스 실습 환경을 구축 (+프로메테우스 배포)
Part 2. 네이티브 프로메테우스
- ch3: 프로메테우스 Web UI 메뉴를 통해 프로메테우스 동작 방식 배우기
- ch4: 프로메테우스 익스포터(Exporter)
- ch5: PromQL 작성하기
- ch6: 프로메테우스 설정 변경 및 유용한 기능 추가
- ch7: 실무에서 사용하는 애플리케이션 모니터링
Part 3. 프로메테우스 오퍼레이터
- ch8: 프로메테우스 오퍼레이터 사용법
- ch9: 프로메테우스 오퍼레이터 응용법
왜 프로메테우스를 배워야 할까요?
프로메테우스는 쿠버네티스라는 인프라에서 구동되는 거의 모든 요소에 대한 모니터링 데이터를 제공하도록 설계되어 있습니다. 본 강의에서도 다루고 있지만, 이를 위해서 이미 쿠버네티스 주요 구성 요소에서도 또한 프로메테우스가 메트릭을 수집할 수 있도록 준비해 놓을 정도로 쿠버네티스라는 거대한 인프라에 매우 밀접한 연관성을 가집니다. 프로메테우스는 노출된 메트릭을 수집할 뿐만 아니라, 이를 가공하여 사용자가 좀 더 쉽게 이용할 수 있도록 하는 다양한 기능을 함께 포함하고 있습니다.
따라서 이미 거의 표준으로 자리잡은 쿠버네티스 인프라를 사용하고 있거나, 사용할 예정이라면 필수적으로 배워야 하는 영역이 프로메테우스입니다.
따라서 쿠버네티스와 같은 인프라에 대해 이미 사용하고 있거나 사용할 계획이 있다면, 하루라도 빠르게 프로메테우스를 익히고 이를 이용하여 앞서가는 개발자/엔지니어로 성장하실 수 있기를 바랍니다. 그러면 지금 바로 생소하게만 느껴졌던 프로메테우스에 대한 배움을 함께 시작해 보면 어떨까요? 😃
이 강의의 특징
📕
프로메테우스만을 깊고 넓게 집중해서 다루는 국내 유일한 프로메테우스 전문 강의입니다.
🔎
프로메테우스의 메뉴부터 천천히 그리고 꼼꼼하게 설명해 학습자의 이해를 돕습니다.
🧰
프로메테우스를 실무에서 사용하는 활용 방법까지 모두 자세하게 소개해드립니다.
👨💻
현업 쿠버네티스 엔지니어, IT 오픈소스 컨트리뷰터가 실무자 관점으로 직접 생생하게 강의합니다.
🚩
베스트셀러 강의 ‘컨테이너 인프라 환경 구축을 위한 쿠버네티스 다루기’에서 나아가 k8s를 깊이 있게 확장합니다.
💾
쿠버네티스 랩 환경 구성에 어려움을 겪는 수강생을 위해 OVA(Open Virtualization Format) 이미지 파일을 제공합니다.
📖 OVA (Open Virtualization Archive), Qcow2(QEMU copy on write) 이미지 파일을 제공합니다.
그동안 주변에서 쿠버네티스를 다루기는 하지만, 프로메테우스와 같은 중요한 요소를 다루기 어려워 하는 분들을 많이 보았습니다. 지난 강의 『쉽게 시작하는 쿠버네티스』와 『그림으로 배우는 쿠버네티스』를 통해 쿠버네티스를 이해했다고 하더라도... 사실 강의가 끝나는 시점에 말씀드린 것처럼 쿠버네티스는 단순히 쿠버네티스만 이해해서 사용할 수 있는 인프라가 아닙니다.
따라서 '어떻게 하면 쉽게 정말 쉽게 프로메테우스를 다루는 것을 알려줄 수 있을까?’, ‘어떻게 하면 쿠버네티스 생태계에서 함께 하도록 할 수 있을까?’ 하는 고민을 녹인 강의입니다.
이번 강의를 모두 듣고 내용을 이해하신다면 프로메테우스 공식 홈페이지에 있는 아래 아키텍처가 왜 그렇게 구성되어야 했는지, 그리고 어떻게 활용할 수 있는지를 이해할 수 있습니다.
프로메테우스 공식 아키텍처 (페이지 바로가기)
적극적인 K8s & 프로메테우스 기여 활동
쿠버네티스 클러스터 TLS 인증서 관리
쿠버네티스 문서 중 클러스터에서 TLS 인증서 관리에 대한 내용 변경 요청 (이슈 보러가기)
Kubernetes Storage Performance 도구 개선
kDbench 배포 (도구 보러가기)
매년 쿠버네티스 표준 아키텍처 제안
2023년 쿠버네티스 표준 아키텍처 (문서 보러가기)
Kubernetes 한글화 문서 이슈 제보
쿠버네티스 문서 중 CoreDNS 내용 변경 요청 (이슈 보러가기)
Kubernetes Volume Test Code 수정
쿠버네티스 볼륨 테스트 코드를 확인하는 도중 오타를 보고 코드 변경 (PR 보러가기)
Prometheus Blackbox Exporter 로고 제언
프로메테우스 블랙박스 팀에 로고 관련 제언 (PR 보러가기)
Q&A 💬
Q. 사전 과정 『쉽게 시작하는 쿠버네티스』와 『그림으로 배우는 쿠버네티스』를 듣지 않고 수강해도 될까요?
더 많은 분들이 프로메테우스의 놀라움을 배우기를 원하지만... 프로메테우스는 쿠버네티스를 모르고는 이해할 수 없는 영역에 있기 때문에 필수적으로 사전 강의 2개를 듣고 수강하시기를 매우 권장드립니다. 해당 강의 모든 내용을 다 이해하고 있는 수준이라면 당연하게도 듣지 않으셔도 되지만, 연속선상에 있는 강의이기 때문에 강의에서 설명한 내용은 언급만 하고 바로 넘어갈 것입니다.
보다 정확한 판단을 위해 쉽게 시작하는 쿠버네티스와 그림으로 배우는 쿠버네티스 강의 목차에 있는 내용을 살펴보시면 좋습니다.
Q. 프로메테우스를 꼭 이 강의를 통해서 배워야 하나요?
사실대로 얘기하자면, '아닙니다'. 가장 좋은 교과서는 프로메테우스 공식 문서입니다. 하지만 공식 문서는 처음부터 공부하기에는 어떻게 시작하고 어떻게 배워야 할지 정의하기 어려운 부분이 있습니다. 이를테면 프로메테우스 공식 문서는 교과서라고 생각하시고, 이 강의는 참고서라고 생각하시면 좋을 것 같습니다. 다만 개인적인 의견으로 프로메테우스 공식 문서는 쿠버네티스처럼 친절하게 정리되어 있지 않은 교과서는 아니라서 참고서를 먼저 보는게 더 효과적으로 프로메테우스를 배우실 수 있다고 생각합니다.
Q. 이 강의만 들으면 프로메테우스를 모두 알 수 있나요?
기존 강의들(쉽게 시작하는 쿠버네티스. 그림으로 배우는 쿠버네티스)에서는 언급했지만, 온라인/오프라인 강의 몇십 시간으로 어떤 제품의 모든 것을 알려주는 건 불가능합니다. 하지만 프로메테우스의 핵심적인 부분은 모두 다루고 있으며, 이와 같은 관점으로 다루는 국내 강의는 없을 것이라고 자부합니다.
또한 현업 관점에서 도움이 될만한 내용은 지속적으로 업데이트 예정입니다.
강의에서 사용하는
프로그램과 버전 & 강의 소스 주소
버전 💾
- Kubernetes - 1.30.3 (현재 1.30.0)
- Containerd - 1.6.31
- Prometheus - 2.37 (LTS)
- Prometheus Operator - 0.58.0
- MetalLB - 0.14.4
- NFS Subdirectory External Provisioner - 4.0.2
- Kubernetes Metrics Server - Master / 0.7.1
- Helm - 3.14.0
인프라 구성 도구 🏗️
x86-64
arm64
터미널 접속 도구 🚀
강의 소스
지난 강의를
확인해 보세요!
📣 학습 전 확인해주세요!
- 수강생 분들의 원할한 실습을 위해 최선을 다하고 있습니다만, 개인 환경에 따라 발생하는 Vagrant 관련 에러의 경우 도와드리지 못할 수 있는 점 양해 바랍니다.
- (x86-64) Vagrant 관련 에러로 인해 실습 진행에 어려움을 겪는 분들을 위해 OVA 이미지를 제공합니다. (2.3 강의 하단에 내려받을 주소 제공)
- (arm64) 환경에서도 이미지를 통해서 제한적으로 구성할 수 있도록 Qcow2 이미지를 제공합니다. (2.5 강의 하단에 내려받을 주소 제공)
- 질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다.
이런 분들께
추천드려요!
학습 대상은
누구일까요?
쿠버네티스 모니터링의 핵심 요소인 프로메테우스를 시작하고 싶은 분
프로메테우스의 구조부터 실무까지 모두 궁금하신 분
유료 모니터링 시스템에서 무료 모니터링 시스템으로 이전하고 싶은 분
선수 지식,
필요할까요?
쉽게 시작하는 쿠버네티스 강의 수준의 지식
그림으로 배우는 쿠버네티스 강의 수준의 지식
리눅스에서 사용하는 명령어 및 에디터(vi)
안녕하세요
문성주입니다.
체커(CHEQUER) 사의 DevOps Engineer로서 쿠버네티스의 멀티 클러스터 관리 방법론과 쿠버네티스 구현체(CAPI, OCI)에 대한 명세와 컨테이너 리소스 격리 방법에 대한 연구를 병행하고 있다. 이런 연구 활동을 기반으로 쿠버네티스 볼륨 테스트 파트에 컨트리뷰션했다. 본업은 쿠버네티스 오퍼레이터와 같은 CRD(커스텀 리소스)를 개발해 현업에서 쿠버네티스를 좀 더 편리하게 사용할 수 있도록 돕는 일이다. 또한, 페이스북 그룹 ‘코딩이랑 무관합니다만'과 ‘IT 인프라 엔지니어 그룹'의 운영진을 맡고 있다.
커리큘럼
전체
75개 ∙ 12시간 55분
수업 자료
가 제공되는 강의입니다.
마지막 업데이트일: 2024년 09월 04일