리소스 요청·제한 설정 + PersistentVolume + 로그·메트릭 중앙 수집 + 서비스 통신 타임아웃 경험
졸업 프로젝트에서 Kubernetes를 처음 써서 여러 컨테이너를 함께 운영하는 환경을 만들었습니다. 스케줄링 측면에서는 리소스 요청과 제한을 설정하지 않으면 노드 한쪽에 부하가 몰리는 문제를 경험했습니다. 서비스 통신 측면에서는 서비스 간 요청이 실패할 때 재시도와 타임아웃을 어디서 처리해야 하는지를 고민하면서 서비스 메시의 필요성을 간접적으로 배웠습니다. 스토리지 측면에서는 PersistentVolume을 써서 파드가 재시작돼도 데이터가 유지되는 구조를 만드는 방법을 배웠습니다. 관측 측면에서는 파드 로그와 메트릭을 중앙 수집하지 않으면 분산 환경에서 문제를 추적하기 어렵다는 걸 경험했습니다. 오케스트레이션은 컨테이너를 배포하는 것보다 어떤 상태가 유지되어야 하는지 선언하는 방식을 이해하는 게 핵심이라는 걸 배웠습니다.
Kubernetes는 각 리소스가 어떤 문제를 해결하는지를 이해하면 구조가 보입니다.