Skip to content

cloud-club/09th-disaster-recovery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 

Repository files navigation

👥 참여자

양효빈
양효빈

스터디 리더
이해준
이해준

스터디 리더
이장원
이장원

스터디원
김태영
김태영

스터디원
이서현
이서현

스터디원
김승현
김승현

스터디원
정민혁
정민혁

스터디원
최애림
최애림

스터디원
주정윤
주정윤

스터디원
최선규
최선규

스터디원
김화균
김화균

스터디원

스터디 방식

일정

  • 시간: 매주 토요일 11시 ~ 13시
    • 토요일 클클 행사가 있는 경우 스터디 끝나고 사이좋게 점심 먹고 행사 가요~~ㅎㅎ
  • 장소: 공덕역 서울창업허브(https://naver.me/FjbnfZuu)
    • 매주 대관 상황에 따라 변동 가능
    • 대관 비용 나누어 지출(1만원 내)
    • 참석 인원 적을 경우 스터디룸 대여 가능
  • 방식: 온/오프라인 하이브리드 방식
    • 스터디 2주전 참석여부 투표에 따라 오프라인 인원 확정 및 대관 진행(발표자는 오프라인 참석 권장)
    • 오프라인 스터디 시 디스코드로 화면 공유하며 발표 및 이야기, 온라인 참여자는 디스코드 접속하여 참여
    • 발표 최소 1번 권장
    • 매주 Github에 스터디 과제 PR 올리고 Comment 남기기(최소 2개)
    • 발표자는 스터디 전주에 지원받음

Rules

  • 매주 각 주차 과제에 대한 PR을 올립니다.
  • 브랜치명은 주차-이름으로 생성합니다.
    • week2-hyobin
  • 주차별 폴더(weekN)에 각자의 md파일을 작성하여 제출합니다.
    • ex) week2/hyobin.md
  • 첨부하고 싶은 이미지가 있다면 각자의 이름으로 폴더를 생성하고 이미지를 업로드합니다.
    • ex) week2/hyobin-img
  • PR은 스터디가 끝난 후 리더들이 일괄적으로 머지합니다.
  1. 사전 전달 없이 늦지 않기, 늦참/불참 시 언제든 연락 💌
  2. 매주 과제 수행
  3. 매주 발표자들의 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 스터디 진행상황 보고 결정
내 탓이 아닌 장애 🌐
[External API/네트워크 지연]
Week 8 스터디 회고 회고

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors