본문 바로가기
Programming/Kubernetes

[Kubernetes] command terminated with exit code 137

by guru_k 2022. 5. 17.
728x90
반응형

kubernetes pod 이 exit code 137로 죽었을 경우, 이는 OOMKilled (Out Of Memory) error로 pod의 Memory가 부족하여 죽는 경우이다.

이때 Resource에 할당된 Memory limit을 늘려서 OOMKilled를 예방 할 수 있다.

Resources 영역에는 requestlimt이 있으며 아래와 같다.

  • request : container에 할당되는 최소한의 memory
  • limit : container에 할당될 수 있는 최대한의 memory

exit code 137이 발생하는 경우는 container에서 사용되는 memory가 limit을 넘었을 경우 발생할 수 있다.

limit을 늘리는 방법은 아래와 같다.

yaml 수정방법

spec:
  replicas: 1
  revisionHistoryLimit: 2
  minReadySeconds: 0
  template:
    metadata:
      labels:
        app.kubernetes.io/name: name
    spec:
      containers:
        - name: server
          image: image
          imagePullPolicy: IfNotPresent
          resources:             <--- 아래 항목을 적절하게 수정
            requests:
              cpu: 20m
              memory: 64Mi
            limits:
              cpu: 300m
              memory: 512Mi

kubectl 을 이용하여 수정

resources 부분을 필요한 만큼 수정

$ kubectl edit deploy server

...
        resources:
          limits:
            cpu: 300m
            memory: 512Mi
          requests:
            cpu: 20m
            memory: 64Mi
 ...
728x90
반응형

댓글