14.4. 컴퓨팅 리소스
노드에서 실행되는 각 컨테이너는 컴퓨팅 리소스를 사용하는데, 이는 측정 가능한 수량으로, 요청, 할당 및 소비될 수 있습니다.
Pod 구성 파일을 작성할 때 클러스터의 Pod를 더 잘 예약하고 만족스러운 성능을 보장하기 위해 각 컨테이너에 필요한 CPU 및 메모리(RAM)를 선택적으로 지정할 수 있습니다.
CPU는 밀리코어라는 단위로 측정됩니다. 클러스터의 각 노드는 운영 체제를 검사하여 노드의 CPU 코어 양을 확인한 다음 해당 값을 1000으로 곱하여 총 용량을 표시합니다. 예를 들어 노드에 2개의 코어가 있는 경우 노드의 CPU 용량이 2000m로 표시됩니다. 단일 코어의/10을 사용하려면 100m로 표시됩니다.
메모리는 바이트 단위로 측정됩니다. 또한SI와 함께 사용할 수 있습니다 (E, P, T, G, M, K) 또는 전원 2개 -equivalents (Ei, Pi, Ti, Mi, Ki)와 함께 사용할 수 있습니다.
apiVersion: v1 kind: Pod spec: containers: - image: openshift/hello-openshift name: hello-openshift resources: requests: cpu: 100m 1 memory: 200Mi 2 limits: cpu: 200m 3 memory: 400Mi 4
14.4.1. CPU 요청
Pod의 각 컨테이너는 노드에 요청하는 CPU 양을 지정할 수 있습니다. 스케줄러는 CPU 요청을 사용하여 컨테이너에 적합한 노드를 찾습니다.
CPU 요청은 컨테이너에서 사용할 수 있는 최소 CPU 양을 나타내지만 CPU에 대한 경합이 없는 경우 노드에서 사용 가능한 모든 CPU를 사용할 수 있습니다. 노드에 CPU 경합이 있는 경우 CPU 요청은 컨테이너에서 사용할 수 있는 CPU 시간 동안 시스템의 모든 컨테이너에서 상대적 가중치를 제공합니다.
노드에서 CPU 요청은 커널 CFS 공유에 매핑되어 이 동작을 적용합니다.