2.2. 컨테이너 리소스 요구 사항
하위 끝(요청)과 상한(제한) 모두에서 작업 및 웹 컨테이너의 리소스 요구 사항을 구성할 수 있습니다. 실행 환경 컨트롤 플레인은 프로젝트 업데이트에 사용되지만 일반적으로 작업의 기본 실행 환경과 동일합니다.
두 가지 모두 정의된 컨테이너에 더 높은 QoS 클래스가 제공되므로 리소스 요청 및 제한을 설정하는 것이 가장 좋습니다. 즉, 기본 노드가 제한되고 실행 중인 메모리 또는 기타 실패를 방지하기 위해 클러스터가 Pod를 다시 시도해야 하는 경우 컨트롤 플레인 Pod를 회수할 가능성이 적습니다.
이러한 요청 및 제한은 자동화 컨트롤러의 제어 Pod에 적용되며 제한이 설정된 경우 인스턴스의 용량을 결정합니다. 기본적으로 작업 제어에는 하나의 용량 단위가 사용됩니다. 작업 컨테이너의 메모리 및 CPU 제한은 컨트롤 노드의 용량을 결정하는 데 사용됩니다. 이를 계산하는 방법에 대한 자세한 내용은 용량 알고리즘에 대한 결정 검색을 참조하십시오.
작업자 노드에서 예약된작업도 참조하십시오.
이름 | 설명 | Default |
---|---|---|
| 웹 컨테이너 리소스 요구사항 | requests: {CPU: 100m, memory: 128Mi} |
| 작업 컨테이너 리소스 요구사항 | requests: {CPU: 100m, memory: 128Mi} |
| EE 컨트롤 플레인 컨테이너 리소스 요구 사항 | requests: {CPU: 100m, memory: 128Mi} |
| Redis 컨트롤 플레인 컨테이너 리소스 요구 사항 | requests: {CPU:100m, memory: 128Mi} |
topology_spread_constraints
를 사용하여 컨트롤 노드를 별도의 기본 Kubernetes 작업자 노드에 배포하는 것이 좋습니다. 적절한 요청 및 제한 세트는 노드의 실제 리소스와 동일한 합계가 있는 제한입니다. 제한
만 설정하면 요청이 자동으로 제한과 동일하게 설정됩니다. 그러나 제어 Pod의 컨테이너 간 리소스 사용량의 일부 변형이 허용되므로 요청을
더 낮은 양으로 설정할 수 있습니다(예: 노드에서 사용 가능한 리소스의 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