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