2.2. 컨테이너 리소스 요구 사항

하위 끝(요청)과 상한(제한) 모두에서 작업 및 웹 컨테이너의 리소스 요구 사항을 구성할 수 있습니다. 실행 환경 컨트롤 플레인은 프로젝트 업데이트에 사용되지만 일반적으로 작업의 기본 실행 환경과 동일합니다.

컨테이너 thaat의 두 가지가 모두 정의되어 있으므로 리소스 요청 및 제한을 설정하는 것이 더 높은 서비스 클래스를 제공하는 것이 가장 좋습니다. 즉, 기본 노드가 제한되고 실행 중인 메모리 또는 기타 실패를 방지하기 위해 클러스터가 Pod를 다시 시도해야 하는 경우 컨트롤 플레인 Pod를 회수할 가능성이 적습니다.

이러한 요청 및 제한은 자동화 컨트롤러의 제어 Pod에 적용되며 제한이 설정된 경우 인스턴스의 용량을 결정합니다. 기본적으로 작업 제어에는 하나의 용량 단위가 사용됩니다. 작업 컨테이너의 메모리 및 CPU 제한은 컨트롤 노드의 용량을 결정하는 데 사용됩니다. 계산 방법에 대한 자세한 내용은 Resouce determination 을 참조하십시오.

작업자 노드에서 예약된작업도 참조하십시오.

이름설명Default

web_resource_requirements

웹 컨테이너 리소스 요구사항

requests: {CPU: 100m, memory: 128Mi}

task_resource_requirements

작업 컨테이너 리소스 요구사항

requests: {CPU: 100m, memory: 128Mi}

ee_resource_requirements

EE 컨트롤 플레인 컨테이너 리소스 요구 사항

requests: {CPU: 100m, memory: 128Mi}

redis_resource_requirements

Redis 컨트롤 플레인 컨테이너 리소스 요구 사항

requests: {CPU:100m, memory: 128Mi}

topology_spread_constraints 를 사용하여 컨트롤 노드를 별도의 기본 kubernetes 작업자 노드로 분배하는 것도 권장되므로 적절한 요청 및 제한 집합도 노드의 실제 리소스와 동일한 개수를 제한합니다. 제한 만 설정하면 요청이 자동으로 제한과 동일하게 설정됩니다. 그러나 제어 Pod의 컨테이너 간 리소스 사용량의 일부 variablity가 허용되므로 요청을 더 낮은 양(예: 노드에서 사용 가능한 리소스의 25%)으로 설정할 수 있습니다. 작업자 노드에 4개의 CPU와 16GB의 RAM이 있는 클러스터의 컨테이너 사용자 지정의 예는 다음과 같습니다.

spec:
  ...
  web_resource_requirements:
    requests:
      cpu: 250m
      memory: 1Gi
    limits:
      cpu: 1000m
      memory: 4Gi
  task_resource_requirements:
    requests:
      cpu: 250m
      memory: 1Gi
    limits:
      cpu: 2000m
      memory: 4Gi
  redis_resource_requirements
    requests:
      cpu: 250m
      memory: 1Gi
    limits:
      cpu: 1000m
      memory: 4Gi
  ee_resource_requirements:
    requests:
      cpu: 250m
      memory: 1Gi
    limits:
      cpu: 1000m
      memory: 4Gi