컨테이너 환경에서 장애 상황을 직접 재현하며 고가용성 개념을 체득한 경험 중심으로 푸는 결
개인 사이드 프로젝트에서 쿠버네티스 클러스터를 로컬에 구성해 고가용성을 테스트해봤습니다. 처음엔 파드 1개로 서비스를 배포했는데, 파드를 강제로 삭제하면 서비스가 중단되는 상황이 그대로 생겼습니다. 레플리카 수를 3으로 늘리니 하나가 죽어도 나머지 파드가 요청을 이어받아 서비스가 유지됐습니다. 이후 노드 하나를 꺼보는 실험을 했더니, 그 노드에 있던 파드가 다른 노드로 재스케줄됐습니다. 생각보다 빠르게 복구됐는데, 파드 재시작 시간을 줄이는 설정을 찾아보다가 readinessProbe와 livenessProbe 설정이 복구 속도에 영향을 준다는 걸 배웠습니다. 처음엔 이 설정의 차이를 몰라서 둘 다 같은 엔드포인트로 설정했다가 파드가 계속 재시작되는 문제를 겪었습니다. 직접 실험하면서 헬스체크 설정이 왜 중요한지 몸으로 배웠습니다.