|
양효빈 스터디 리더 |
이해준 스터디 리더 |
이장원 스터디원 |
김태영 스터디원 |
이서현 스터디원 |
김승현 스터디원 |
정민혁 스터디원 |
최애림 스터디원 |
주정윤 스터디원 |
최선규 스터디원 |
김화균 스터디원 |
시간: 매주 토요일 11시 ~ 13시- 토요일 클클 행사가 있는 경우 스터디 끝나고 사이좋게 점심 먹고 행사 가요~~ㅎㅎ
장소: 공덕역 서울창업허브(https://naver.me/FjbnfZuu)- 매주 대관 상황에 따라 변동 가능
- 대관 비용 나누어 지출(1만원 내)
- 참석 인원 적을 경우 스터디룸 대여 가능
방식: 온/오프라인 하이브리드 방식- 스터디 2주전 참석여부 투표에 따라 오프라인 인원 확정 및 대관 진행(발표자는 오프라인 참석 권장)
- 오프라인 스터디 시 디스코드로 화면 공유하며 발표 및 이야기, 온라인 참여자는 디스코드 접속하여 참여
- 발표 최소 1번 권장
- 매주 Github에 스터디 과제 PR 올리고 Comment 남기기(최소 2개)
- 발표자는 스터디 전주에 지원받음
- 매주 각 주차 과제에 대한 PR을 올립니다.
- 브랜치명은
주차-이름으로 생성합니다.- week2-hyobin
- 주차별 폴더(weekN)에 각자의 md파일을 작성하여 제출합니다.
- ex) week2/hyobin.md
- 첨부하고 싶은 이미지가 있다면 각자의 이름으로 폴더를 생성하고 이미지를 업로드합니다.
- ex) week2/hyobin-img
- PR은 스터디가 끝난 후 리더들이 일괄적으로 머지합니다.
- 사전 전달 없이 늦지 않기, 늦참/불참 시 언제든 연락 💌
- 매주 과제 수행
- 매주 발표자들의 PR에 Comment 달기(최소 2개)
| 주차 | 주제 | 세부 내용 |
|---|---|---|
| Week 1 | Intro & Icebreaking 🧊 | [스터디 세부 규칙 설정/아이스 브레이킹] 1. 스터디 규칙 설정 2. 스터디 일정 확정 3. 친해지기 4. 다음 주차 과제 소개 • 개념 학습/실습 기록 |
| Week 2 | 장애를 보는 눈 👀 | [서비스 관측 기초 다지기] 1. 개념 학습 • SLO/SLI/SLA와 관측 3종 세트 Metrics / Logs / Traces 알아보기 2. Loki + Grafana로 로그 수집/검색/대시보드 구축 경험 공유 • 이론적 구성도 OK, 부담 NO • 현직자의 경우 실무 경험을 공유한다면 더 좋습니다 🙌 • 다른 툴도 환영 3. 다음 주차 과제 소개 • ‘알람 울렸을 때 10분 대응 플로우’ 런북 만들기(Notion 1페이지 내) • 스터디 시작 전 서로의 런북에 Comment 달기 |
| Week 3 | K8S 대표 장애 1️⃣ : 롤링 업데이트 실패 & 리소스 이슈 | [K8S 대표 장애 1] 1. 기초 학습 • RollingUpdate 전략의 동작 방식 • maxUnavailable / maxSurge • readinessProbe 실패가 트래픽에 미치는 영향 • 잘못된 이미지 배포 시 어떤 일이 벌어지는가? • CPU Throttling & Memory Limit의 실제 영향 2. 장애 시나리오 공유/재현 • 잘못된 이미지 배포, 새 버전에서 500 발생, readiness 통과 → 실제 트래픽 에러 발생 • 관측 포인트: 5xx 증가, Pod restart 없음, Deployment rollout status 3. 다음 주차 과제 소개 • 개념 학습 • Node 장애 시나리오, MTTR 목표값 설정한 K8S 장애 시나리오 런북 작성 • “노드 한 대가 죽었을 때” 어떤 알람이 먼저 울려야 하는가? |
| Week 4 | 좋은 알람의 조건 ⏰ | [관측에서 행동으로] 1. 좋은 장애 알람이란? • 각자가 생각하는 좋은 알람의 조건에 대해 자유롭게 공유해봅시다. • MTTR을 최소화하기 위한 고민을 공유해봅시다. 2. 알람 설계 경험 공유 / 런북 피드백 • Week 2에서 만든 대시보드/SLI 기반으로 알람 설계 • 런북 공유, 피드백 3. 다음 주차 과제 소개 • 개념 학습 • DB Pool 고갈 런북 작성(본인 서비스/프로젝트의 DB 장애 경험 바탕, 없다면 시나리오 제작) |
| Week 5 | K8S 대표 장애 2️⃣ : Node 장애 + 스케줄링 실패 + 클러스터 레벨 이슈 | [K8S 대표 장애 1] 1. 기초 학습 • Node NotReady의 의미 • cordon / drain 차이 • PDB가 MTTR에 미치는 영향 • anti-affinity / topology spread • Replica 수가 부족할 때 벌어지는 일 2. 장애 시나리오 공유 • 시나리오 A: Node 한 대 Down • 일부 Pod가 사라짐 / 재스케줄링 지연 /PDB 때문에 drain 지연 • 시나리오 B: 스케줄링 실패 • Pending 상태 지속 / 자원 부족 / affinity 조건 충돌 • 시나리오 C: DNS 장애 • 외부 API 호출 실패 / DB 연결 실패 / 실제 Pod는 정상 3. 다음 주차 과제 소개 • 개념 학습 • External API/네트워크 지연 시나리오 런북 작성 |
| Week 6 | 커넥션 풀 말리기 🫥 | [DB Connection Pool 고갈] 1. DB Connection Pool이란? • 커넥션 풀이 고갈되면 왜 연쇄 장애가 발생할까? • p95/p99 latency 상승 → DB timeout → 5xx 증가의 원인 2. 대응 경험/이론 학습 공유 • 관측 포인트 & 대시보드/로그로 징후 찾기 • 런북 공유, 피드백 3. 다음 주차 과제 소개 • 개념 학습 • Pod CrashLoop / OOMKill - K8S 장애 시나리오 런북 작성 |
| Week 7 | 스터디 진행상황 보고 결정 |
|
| Week 8 | 스터디 회고 | 회고 |