Logging의 필요성
Kubernetes를 사용하다보면 클러스터에서 실행 중인 애플리케이션의 로그를 어떻게 확인하는지가 매우 중요하다. 따라서 기본적인 로깅 메커니즘을 숙지하는 것은 매우 중요한 요소이다.
Docker에서의 로그 확인방법
Docker에서는 다음과 같은 명령어를 통해 이미지를 컨테이너를 실행시킨다.
docker run test-app
여기서 run 옵션에 `-d`를 추가하면 detached 모드로 실행되는데 백그라운드로 실행되므로 로그가 보이지 않는다.
이 때 로그를 확인하는 방법은 다음과 같다.
docker logs <container-id>
docker logs -f <container-id> # 실시간으로 로그를 볼 수 있음
Kubernetes에서의 로그 확인 방법
동일한 test-app 이미지를 Kubernetes Pod로 배포한 경우 단일 컨테이너 Pod의 로그를 확인하는 방법은 다음과 같다.
kubectl logs <pod-name>
kubectl logs -f <pod-name>
Kubernetes는 내부적으로 Docker와 동일하게 표준 출력(stdout)과 표준 에러(stderr)를 로깅 소스로 사용한다.
일반적으로 파드 내부에는 하나의 컨테이너를 두는 경우가 많지만 하나의 파드에 여러 컨테이너를 실행시킬수도 있다.
이 때는 다음과 같이 컨테이너의 이름을 명시해주어야한다.
kubectl logs <pod-name> -c <container-name>
'CKA' 카테고리의 다른 글
Docker 명령어와 엔트리포인트(CMD vs ENTRYPOINT) (0) | 2025.04.09 |
---|---|
Kubernetes Deployment 업데이트와 롤백 (0) | 2025.04.09 |
Kubernetes Monitoring (0) | 2025.04.01 |
Kubernetes Admission Controller의 두 가지 유형 (0) | 2025.03.30 |
(TIL) Scheduler Profiles (0) | 2025.03.30 |