Infra/Debugging

k8s ALB ingress 배포 앱의 timeout이 60초로 제한될 때 해결법

jimmy_AI 2024. 9. 3. 00:12
반응형

서비스를 배포한 코드와 도커 환경 내에서는 타임아웃이 60초보다 더 길지만

(즉, 로컬 환경에서는 정상 실행이 가능)

배포 이후 60초의 timeout 제한이 걸리는 경우가 있습니다.

 

만일, timeout이 제한되는 앱이 쿠버네티스에서 ALB 유형의 ingress로 배포한 서비스라면

ALB를 설정한 ingress yaml 파일에서 다음과 같은 사항이 포함되어있는지 확인해봅니다.

(아래 예시는 timeout이 2분으로 설정된 경우입니다.)

metadata:
  annotations:
    alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=120

 

만일, alb.ingress.kubernetes.io/load-balancer-attributes 옵션의 설정이 생략되었다면

기본적으로 타임아웃이 60초로 설정되기에 ALB 측에서 연결이 종료되었을 가능성이 있습니다.

 

따라서, ingress의 yaml 파일에 해당 옵션을 적고, 원하는 timeout의 길이를 초 단위로 적어

다시 배포를 진행해주시면 이 경우 문제가 해결될 수 있습니다.

 

이 글이 문제 해결에 도움이 되셨기를 기원하겠습니다. 감사합니다.