21장. 컨테이너 모니터링

Podman 명령을 사용하여 Podman 환경을 관리합니다. 이를 통해 시스템 및 Pod 정보를 표시하고 Podman 이벤트를 모니터링하여 컨테이너 상태를 확인할 수 있습니다.

21.1. 컨테이너에서 상태 점검 사용

상태 점검을 사용하여 컨테이너 내부에서 실행되는 프로세스의 상태 또는 준비 상태를 확인할 수 있습니다.

상태 점검에 성공하면 컨테이너가 "healthy"로 표시됩니다. 그렇지 않으면 "healthy"입니다. 상태 점검을 podman exec 명령 실행과 비교하고 종료 코드를 검사할 수 있습니다. 0 exit 값은 컨테이너가 "healthy"임을 나타냅니다.

컨테이너 파일HEALTHCHECK 명령을 사용하거나 명령줄에서 컨테이너를 생성할 때 상태 점검을 설정할 수 있습니다. podman inspect 또는 podman ps 명령을 사용하여 컨테이너의 상태 점검 상태를 표시할 수 있습니다.

상태 점검은 여섯 가지 기본 구성 요소로 구성됩니다.

  • 명령
  • retries
  • 간격
  • start-period
  • Timeout
  • 컨테이너 복구

상태 점검 구성 요소에 대한 설명은 다음과 같습니다.

명령 (--health-cmd 옵션)
Podman은 대상 컨테이너 내에서 명령을 실행하고 종료 코드를 기다립니다.

다른 5 가지 구성 요소는 상태 점검 예약과 관련이 있으며 선택 사항입니다.

재시도(--health-retries 옵션)
컨테이너가 "unhealthy"로 표시되기 전에 발생해야 하는 연속적으로 실패한 상태 점검 수를 정의합니다. 상태 점검에 성공하면 재시도 카운터가 재설정됩니다.
interval (--health-interval 옵션)
상태 점검 명령을 실행하는 데 걸리는 시간을 설명합니다. 작은 간격으로 인해 시스템이 상태 점검을 실행하는 데 많은 시간을 소비합니다. 큰 간격은 시간 초과로 어려움을 겪습니다.
start-period (--health-start-period 옵션)
컨테이너가 시작되는 시간과 상태 점검 실패를 무시하려는 시점 사이의 시간을 설명합니다.
타임아웃 (--health-timeout 옵션)
실패로 간주되기 전에 상태 점검이 완료되어야 하는 기간을 설명합니다.
참고

Retries, Interval 및 Start-period 구성 요소의 값은 시간 기간(예: "30s" 또는 "1h15m")입니다. 유효한 시간 단위는 "ns, "us" 또는 "ms", "s", "m" 및 "h"입니다.

컨테이너 복구 (--health-on-failure 옵션)

컨테이너 상태가 비정상인 경우 수행할 작업을 결정합니다. 애플리케이션이 실패하면 Podman이 자동으로 다시 시작하여 견고함을 제공합니다. --health-on-failure 옵션은 다음 4가지 작업을 지원합니다.

  • 제공되지 않음: 작업을 수행하지 마십시오. 이 작업이 기본 작업입니다.
  • kill: 컨테이너를 종료합니다.
  • restart: 컨테이너를 다시 시작합니다.
  • 중지: 컨테이너를 중지합니다.

    참고

    --health-on-failure 옵션은 Podman 버전 4.2 이상에서 사용할 수 있습니다.

주의

재시작 작업과 -- restart 옵션을 결합하지 마십시오. systemd 장치 내에서 실행하는 경우 대신 kill 또는 stop 작업을 사용하여 systemd 재시작 정책을 사용하는 것이 좋습니다.

상태 점검은 컨테이너 내에서 실행됩니다. 상태 점검은 서비스의 상태가 무엇인지 알고 성공 및 실패한 상태 점검을 구별할 수 있는 경우에만 의미가 있습니다.