4.5. 시작 프로브


시작 프로브는 서비스가 성공적으로 시작되었는지 여부를 확인하여 시작 프로세스가 느려지는 컨테이너의 콜드 시작 시간을 줄일 수 있습니다. 시작 프로브는 컨테이너의 초기화 단계에서만 실행되며 주기적으로 실행되지 않습니다. 시작 프로브가 실패하면 컨테이너가 정의된 restartPolicy 를 따릅니다.

4.5.1. 진행 기한

기본적으로 서비스에는 초기 시작을 완료하는 서비스의 시간 제한을 정의하는 진행 기한이 있습니다. 시작 프로브를 사용하는 경우 진행 기한이 시작 프로브에 필요한 최대 시간을 초과하도록 설정되어 있는지 확인합니다. 진행 기한이 너무 낮으면 시작 프로브가 데드라인에 도달하기 전에 완료되지 않아 서비스가 시작되지 않을 수 있습니다.

배포에 다음 조건이 발생하면 진행 기한을 늘리는 것이 좋습니다.

  • 서비스 이미지는 크기 때문에 가져오는 데 시간이 오래 걸립니다.
  • 초기 캐시 priming으로 인해 서비스가 준비 되기까지 시간이 오래 걸립니다.
  • 클러스터는 자동 스케일링을 사용하여 새 Pod에 리소스를 할당합니다.

4.5.2. 시작 검사 구성

OpenShift Serverless Serving의 경우 시작 프로브가 기본적으로 정의되지 않습니다. 배포 구성에서 컨테이너에 대한 시작 프로브를 정의할 수 있습니다.

프로세스

  • 배포 구성을 수정하여 서비스에 대한 시작 프로브를 정의합니다. 다음 예제에서는 두 개의 컨테이너가 있는 구성을 보여줍니다.

    정의된 별 프로브의 예

    apiVersion: serving.knative.dev/v1
    kind: Service
    # ...
    spec:
      template:
        spec:
           containers:
            - name: first-container
              image: <image>
              ports:
                - containerPort: 8080
              # ...
              startupProbe: 1
              httpGet:
                port: 8080
                path: "/"
            - name: second-container
              image: <image>
              # ...
              startupProbe: 2
              httpGet:
                port: 8081
                path: "/"

    1
    첫 번째 컨테이너 의 시작 프로브입니다.
    2
    두 번째 컨테이너 의 시작 프로브입니다.

4.5.3. 진행률 데드 구성

진행 상황 기한 설정을 구성하여 시스템에서 Knative 버전에 대한 실패를 보고하기 전에 배포에 허용되는 최대 시간을 지정할 수 있습니다. 이 시간 제한은 초 또는 분 단위로 지정할 수 있습니다.

진행 기한을 효과적으로 구성하려면 다음 매개변수를 고려하십시오.

  • initialDelaySeconds
  • failureThreshold
  • periodSeconds
  • timeoutSeconds

지정된 시간 제한 내에서 초기 스케일링을 달성하지 못하면 Knative Autoscaler 구성 요소가 버전을 0 으로 스케일링하고 Knative 서비스는 터미널 실패 상태가 됩니다.

기본적으로 진행 기한은 600초로 설정됩니다. 이 값은 Golang time.Duration 문자열로 지정되며 가장 가까운 초로 반올림해야 합니다.

프로세스

  • 진행률 데드라인 설정을 구성하려면 배포 구성에서 주석을 사용합니다.

    60초로 설정된 진행 상황 기한 예

    apiVersion: serving.knative.dev/v1
    kind: Service
    ...
    spec:
      template:
        metadata:
           annotations:
                serving.knative.dev/progress-deadline: "60s"
        spec:
            containers:
                - image: ghcr.io/knative/helloworld-go:latest

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.