Kubernetes 위에서 돌 애플리케이션을 직접 만들 때 지켜야 할 것과, 그 예제로 만든 두 애플리케이션을 모아 둔 곳이다. 둘 다 내부 Git 에 소스가 있고 컨테이너 이미지로 배포한다.
애플리케이션이 클러스터와 잘 맞물리려면 최소한 다음이 필요하다.
| 항목 | 내용 |
|---|---|
| 상태 엔드포인트 | /healthz 류의 엔드포인트로 liveness · readiness · startup probe 에 답한다. 프로세스가 살아 있는 것과 요청을 받을 수 있는 것은 다르다 |
| 설정 주입 | 환경 변수 · ConfigMap · Secret 으로 받는다. 이미지 안에 환경별 값을 넣지 않는다 |
| 로그 | 표준 출력 · 표준 오류로 낸다. 파일에 쓰면 kubectl logs 로 못 본다 |
| 메트릭 | /metrics 로 Prometheus 형식을 낸다 — Prometheus |
| 종료 처리 | SIGTERM 을 받으면 진행 중인 요청을 마치고 내려간다. terminationGracePeriodSeconds 안에 끝내야 한다 |
| 권한 | root 가 아닌 UID, 읽기 전용 루트 파일시스템, 불필요한 capability 제거 |
/healthz 로 내는 경량 헬스체크 에이전트./health · /metrics 로 내는 FastAPI 예제 서버. 배포 · 프로브 · 메트릭 연동의 본보기.