Knative 요청 타임아웃 설정 점검

워크로드에 맞는 요청 시간 제한을 확인하세요.

설명

Knative Service의 spec.template.spec.timeoutSeconds는 요청 타임아웃을 정합니다. 생략하면 클러스터의 revision-timeout-seconds 기본값이 적용되므로, 생략 자체가 무제한 처리를 뜻하지는 않습니다.

잠재적 영향

너무 긴 제한은 리소스 점유를 늘리고, 너무 짧은 제한은 정상 요청을 중단시킬 수 있습니다.

해결 방법

실제 처리 시간과 클러스터 기본값을 확인하고 필요하면 timeoutSeconds를 지정하세요. 클러스터의 최대 허용값과 애플리케이션 자체의 작업 취소 방식도 맞추세요.

예시

기본값 사용과 명시적인 600초 설정을 비교합니다. 600초가 보편적인 권장값은 아니며, 이를 허용하는 클러스터와 해당 처리 시간이 필요한 작업을 전제로 합니다. 예시 이미지는 실제 이미지로 바꾸세요.

변경 전

yaml
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: dummy
spec:
  template:
    spec:
      containers:
        - name: app
          image: images.my-company.example/app:v4
      containerConcurrency: 100

변경 후

yaml
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: dummy
spec:
  template:
    spec:
      containers:
        - name: app
          image: images.my-company.example/app:v4
      containerConcurrency: 100
      timeoutSeconds: 600

참조