11.4. Pod와 토폴로지 관리자 정책 간의 상호 작용
예제 Pod
사양은 Topology Manager와 Pod의 상호작용을 보여줍니다.
다음 Pod는 리소스 요청 또는 제한이 지정되어 있지 않기 때문에 BestEffort
QoS 클래스에서 실행됩니다.
spec: containers: - name: nginx image: nginx
spec:
containers:
- name: nginx
image: nginx
다음 Pod는 요청이 제한보다 작기 때문에 Burstable
QoS 클래스에서 실행됩니다.
선택한 정책이 none
이 아닌 경우, 토폴로지 관리자는 모든 포드를 처리하고 Guaranteed
QoS Pod
사양에 대해서만 리소스 정렬을 적용합니다. Topology Manager 정책이 none
으로 설정된 경우 관련 컨테이너는 NUMA 친화성을 고려하지 않고 사용 가능한 CPU에 고정됩니다. 이는 기본 동작이며 성능에 민감한 작업 부하에 최적화되지 않습니다. 다른 값은 CPU 및 메모리와 같은 장치 플러그인 핵심 리소스에서 토폴로지 인식 정보를 사용할 수 있게 해줍니다. 정책이 none
외의 값으로 설정된 경우, 토폴로지 관리자는 노드의 토폴로지에 따라 CPU, 메모리 및 장치 할당을 정렬하려고 시도합니다. 사용 가능한 값에 대한 자세한 내용은 토폴로지 관리자 정책을 참조하세요.
다음 예제 pod 는 요청이 제한과 같기 때문에 Guaranteed
QoS 클래스에서 실행됩니다.
토폴로지 관리자는 이러한 Pod를 고려합니다. 토폴로지 관리자는 CPU 관리자, 장치 관리자, 메모리 관리자인 힌트 제공자를 참조하여 pod 에 대한 토폴로지 힌트를 얻습니다.
토폴로지 관리자는 이 정보를 사용하여 해당 컨테이너에 가장 적합한 토폴로지를 저장합니다. 이 Pod의 경우 CPU 관리자와 장치 관리자는 리소스 할당 단계에서 이러한 저장된 정보를 사용합니다.