4.10. 버전 제한 시간 구성
버전에 대한 시간 초과 기간을 전역적으로 또는 개별적으로 구성하여 요청에 소요되는 시간을 제어할 수 있습니다.
4.10.1. 버전 제한 시간 구성 링크 복사링크가 클립보드에 복사되었습니다!
요청에 따라 버전 시간 초과에 대한 기본 시간(초)을 구성할 수 있습니다.
사전 요구 사항
- OpenShift Serverless Operator 및 Knative Serving이 설치되어 있습니다.
클러스터에 필요한 권한이 있습니다.
- OpenShift Container Platform에 대한 클러스터 관리자 권한
- AWS의 Red Hat OpenShift Service에 대한 클러스터 관리자 또는 전용 관리자 권한
- OpenShift Dedicated에 대한 클러스터 관리자 또는 전용 관리자 권한
프로세스
버전 시간 초과를 구성하는 적절한 방법을 선택합니다.
버전 시간 초과를 전역적으로 구성하려면
KnativeServing
사용자 정의 리소스(CR)에서revision-timeout-seconds
필드를 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 정의에서
timeoutSeconds
필드를 설정하여 버전당 시간 제한을 구성하려면 다음을 수행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
참고버전 시간 초과를 600초(10분)의 값으로 설정하려면 기본 OpenShift Container Platform 경로 제한 시간 및 최대 버전 시간 제한을 늘려야 합니다.
기본 600초(10분)를 초과하는 요청에 대한 시간 초과를 구성하는 방법에 대한 지침은 "Long-running requests"를 참조하십시오.
4.10.2. 최대 버전 제한 시간 구성 링크 복사링크가 클립보드에 복사되었습니다!
최대 버전 제한 시간을 설정하면 버전이 특정 제한을 초과할 수 없도록 할 수 있습니다. 진행 중 요청이 중단되지 않도록 최대 버전 시간 초과 값은 활성화 프로그램의 terminationGracePeriodSeconds
값을 초과해서는 안 됩니다.
사전 요구 사항
- OpenShift Serverless Operator 및 Knative Serving이 설치되어 있습니다.
클러스터에 필요한 권한이 있습니다.
- OpenShift Container Platform에 대한 클러스터 관리자 권한
- AWS의 Red Hat OpenShift Service에 대한 클러스터 관리자 또는 전용 관리자 권한
- OpenShift Dedicated에 대한 클러스터 관리자 또는 전용 관리자 권한
프로세스
최대 버전 시간 제한을 구성하려면
KnativeServing
CR(사용자 정의 리소스)에서max-revision-timeout-seconds
필드를 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고최대 버전 타임아웃을 600초(10분)의 값으로 설정하려면 기본 OpenShift Container Platform 경로 시간 제한을 늘려야 합니다.
기본 600초(10분)를 초과하는 요청에 대한 시간 초과를 구성하는 방법에 대한 지침은 "Long-running requests"를 참조하십시오.
4.10.3. 버전 응답 시작 시간 초과 구성 링크 복사링크가 클립보드에 복사되었습니다!
버전 응답 시작 타임아웃을 설정하여 요청이 라우팅된 후 네트워크 트래픽 전송을 시작할 때까지 Serving이 대기하는 최대 기간(초)을 지정할 수 있습니다. 버전 응답 시작 시간 초과는 버전 제한 시간을 초과할 수 없습니다. 기본 기간은 300초(5분)입니다.
사전 요구 사항
- OpenShift Serverless Operator 및 Knative Serving이 설치되어 있습니다.
클러스터에 필요한 권한이 있습니다.
- OpenShift Container Platform에 대한 클러스터 관리자 권한
- AWS의 Red Hat OpenShift Service에 대한 클러스터 관리자 또는 전용 관리자 권한
- OpenShift Dedicated에 대한 클러스터 관리자 또는 전용 관리자 권한
프로세스
버전 응답 시작 시간 초과를 구성하는 적절한 방법을 선택합니다.
시간 제한을 전역적으로 구성하려면
KnativeServing
사용자 정의 리소스(CR)에서revision-response-start-timeout-seconds
필드를 설정합니다. 필요한 응답 시작 시간 초과가 버전 타임아웃을 초과하는 경우 그에 따라revision-timeout-seconds
필드도 조정합니다.전역적으로 300 초로 설정된 버전 응답 시작 시간 제한의 예(5분)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버전별로 타임아웃을 구성하려면 서비스 정의에서
responseStartTimeoutSeconds
필드를 설정합니다. 필요한 응답 시작 시간 초과가 버전 타임아웃을 초과하는 경우 그에 따라timeoutSeconds
필드를 조정합니다.버전 응답 시간 제한이 300초(5분)로 설정된 서비스 정의의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
참고버전 응답 시작 시간 초과와 버전 시간 초과를 600초(10분) 값으로 설정하려면 기본 OpenShift Container Platform 경로 제한 시간 및 최대 버전 제한 시간을 늘려야 합니다.
기본 600초(10분)를 초과하는 요청에 대한 시간 초과를 구성하는 방법에 대한 지침은 "Long-running requests"를 참조하십시오.
4.10.4. 버전 유휴 타임아웃 구성 링크 복사링크가 클립보드에 복사되었습니다!
개정 유휴 타임아웃을 설정하면 애플리케이션에서 데이터를 수신하지 않고도 요청이 열린 상태로 유지할 수 있는 최대 기간을 초 단위로 지정할 수 있습니다. 기본 기간은 0
(초기)입니다.
사전 요구 사항
- OpenShift Serverless Operator 및 Knative Serving이 설치되어 있습니다.
클러스터에 필요한 권한이 있습니다.
- OpenShift Container Platform에 대한 클러스터 관리자 권한
- AWS의 Red Hat OpenShift Service에 대한 클러스터 관리자 또는 전용 관리자 권한
- OpenShift Dedicated에 대한 클러스터 관리자 또는 전용 관리자 권한
프로세스
버전 유휴 시간 초과를 구성하려면 적절한 방법을 선택합니다.
시간 초과를 전역적으로 구성하려면
KnativeServing
CR(사용자 정의 리소스)에서revision-idle-timeout-seconds
필드를 설정합니다.전역적으로 300 초(5분)로 설정된 버전 유휴 시간 제한 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버전별로 타임아웃을 구성하려면 서비스 정의에서
idleTimeoutSeconds
필드를 설정합니다.버전 유휴 시간 제한이 300초(5분)로 설정된 서비스 정의의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.5. 장기 실행 요청 링크 복사링크가 클립보드에 복사되었습니다!
Knative에서 설정된 기본 600초 타임아웃을 초과하는 요청이 조기 종료되지 않도록 하려면 다음 구성 요소의 시간 초과를 조정해야 합니다.
- OpenShift Container Platform 경로
- OpenShift Serverless Serving
- 클라우드 공급자에 따라 로드 밸런서
전역 또는 버전별로 시간 초과를 구성할 수 있습니다. 연장된 기간이 필요한 모든 Knative 서비스에 대한 요청이 있거나 AI 배포와 같은 다른 시간 초과 값이 필요한 특정 워크로드에 대한 버전당 타임아웃을 전역적으로 구성할 수 있습니다.
4.10.5.1. 기본 경로 시간 초과 구성 전역 링크 복사링크가 클립보드에 복사되었습니다!
경로 시간 초과를 전역적으로 구성하면 모든 서비스에서 일관된 시간 초과 설정을 보장하여 시간 초과 요구 사항이 유사한 워크로드에 대한 관리를 단순화하고 개별 조정의 필요성을 줄일 수 있습니다.
서버리스-operator
서브스크립션의 ROUTE_HAPROXY_TIMEOUT
환경 값을 업데이트하고 KnativeServing
사용자 정의 리소스(CR)의 max-revision-timeout-seconds
필드를 업데이트하여 경로 타임아웃을 전역적으로 구성할 수 있습니다. 이렇게 하면 모든 Knative 서비스에서 시간 초과 변경 사항이 적용되고 최대 값이 설정된 특정 시간 초과를 사용하여 서비스를 배포할 수 있습니다.
ROUTE_HAPROXY_TIMEOUT
은 Serverless Operator에서 관리하는 환경 변수이며 기본적으로 600
으로 설정됩니다.
프로세스
다음 명령을 실행하여 서브스크립션의
ROUTE_HAPROXY_TIMEOUT
값을 필요한 시간(초)으로 설정합니다. 이로 인해openshift-serverless
네임스페이스의 Pod가 재배포됩니다.ROUTE_HAPROXY_TIMEOUT
값을 900초로 설정oc patch subscription.operators.coreos.com serverless-operator -n openshift-serverless --type='merge' -p '{"spec": {"config": {"env": [{"name": "ROUTE_HAPROXY_TIMEOUT", "value": "900"}]}}}'
$ oc patch subscription.operators.coreos.com serverless-operator -n openshift-serverless --type='merge' -p '{"spec": {"config": {"env": [{"name": "ROUTE_HAPROXY_TIMEOUT", "value": "900"}]}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 서브스크립션에서
ROUTE_HAPROXY_TIMEOUT
값을 직접 설정할 수 있습니다.ROUTE_HAPROXY_TIMEOUT
이 900초로 설정된 서브스크립션 정의Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고serving.knative.openshift.io/disableRoute
주석을 사용하여 경로를 수동으로 생성하고 자동 생성을 비활성화한 경우 경로 정의에서 직접 시간 초과를 구성할 수 있습니다.KnativeServing
CR에서 최대 버전 타임아웃을 설정합니다.max-revision-timeout-seconds
가 900초로 설정된KnativeServing
CRCopy to Clipboard Copied! Toggle word wrap Toggle overflow Serverless Operator는 활성 상태의 Pod가 자체적으로 종료되는 경우 요청 종료를 방지하기 위해 활성화기의
terminationGracePeriod
값을 설정된 최대 버전 시간 초과 값으로 자동으로 조정합니다.선택 사항: 다음 명령을 실행하여 시간 초과가 설정되었는지 확인합니다.
oc get deployment activator -n knative-serving -o jsonpath="{.spec.template.spec.terminationGracePeriodSeconds}"
$ oc get deployment activator -n knative-serving -o jsonpath="{.spec.template.spec.terminationGracePeriodSeconds}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라우드 공급자에 필요한 경우 다음 명령을 실행하여 로드 밸런서 시간 초과를 조정합니다.
AWS Classic LB의 로드 밸런서 시간 제한 조정
Copy to Clipboard Copied! Toggle word wrap Toggle overflow max-revision-timeout-seconds
변수와 같거나 원하는 시간 초과를 사용하여 Knative 서비스를 배포합니다.시간 초과가 800초로 설정된 서비스 정의
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요서비스 메시를 사용하는 경우 장기 실행 요청이 진행 중이면 요청이 중단됩니다. 요청 중단을 방지하려면
ServiceMeshControlPlane
CR의terminationDrainDuration
필드 값을 조정해야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 요청을 중단하는 Istio 프록시 종료를 방지하기 위해 값이 요청 기간을 초과했는지 확인합니다.
검증
Kourier를 사용하는 경우 다음 명령을 실행하여 OpenShift Container Platform 경로에서 현재 시간 초과 값을 확인할 수 있습니다.
oc get route <route_name> -n knative-serving-ingress ess -o jsonpath="{.metadata.annotations.haproxy\.router\.openshift\.io/timeout}"
$ oc get route <route_name> -n knative-serving-ingress ess -o jsonpath="{.metadata.annotations.haproxy\.router\.openshift\.io/timeout}" 800s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.5.2. 버전당 기본 경로 시간 초과 구성 링크 복사링크가 클립보드에 복사되었습니다!
버전당 경로 시간 초과를 구성하면 다른 서비스의 글로벌 시간 초과 설정에 영향을 주지 않고 AI 또는 데이터 처리 애플리케이션과 같은 고유한 요구 사항을 사용하여 워크로드에 대한 시간 제한을 미세 조정할 수 있습니다. KnativeServing
사용자 정의 리소스(CR), 서비스 정의 및 serving.knative.openshift.io/setRouteTimeout
주석을 사용하여 OpenShift Container Platform 경로 제한 시간을 조정하여 특정 버전의 타임아웃을 구성할 수 있습니다.
프로세스
필요에 따라
KnativeServing
CR에서max-revision-timeout
주석을 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 실행하여 활성화 프로그램의 종료 유예 기간을 확인합니다.
oc get deployment activator -n knative-serving -o jsonpath="{.spec.template.spec.terminationGracePeriodSeconds}"
$ oc get deployment activator -n knative-serving -o jsonpath="{.spec.template.spec.terminationGracePeriodSeconds}" 900
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라우드 공급자에 필요한 경우 다음 명령을 실행하여 로드 밸런서 시간 초과를 조정합니다.
AWS Classic LB의 로드 밸런서 시간 제한 조정
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 서비스의 타임아웃을 설정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요서비스 메시를 사용하는 경우 장기 실행 요청이 진행 중이면 요청이 중단됩니다. 요청 중단을 방지하려면
ServiceMeshControlPlane
CR의terminationDrainDuration
필드 값을 조정해야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 요청을 중단하는 Istio 프록시 종료를 방지하기 위해 값이 요청 기간을 초과했는지 확인합니다.
검증
Kourier를 사용하는 경우 다음 명령을 실행하여 OpenShift Container Platform 경로에서 현재 시간 초과 값을 확인할 수 있습니다.
oc get route <route-name> -n knative-serving-ingress ess -o jsonpath="{.metadata.annotations.haproxy\.router\.openshift\.io/timeout}"
$ oc get route <route-name> -n knative-serving-ingress ess -o jsonpath="{.metadata.annotations.haproxy\.router\.openshift\.io/timeout}" 800s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow