22.6. 노드 적용
노드는 구성된 할당 가능 값을 기반으로 Pod에서 사용할 수 있는 총 리소스 양을 제한할 수 있습니다. 이 기능을 사용하면 컨테이너 런타임 및 노드 에이전트와 같은 시스템 서비스에 필요한 CPU 및 메모리 리소스를 Pod에서 사용하지 못하도록 하여 노드의 안정성이 크게 향상됩니다. 관리자는 노드 안정성을 개선하기 위해 리소스 사용량 목표에 따라 리소스를 예약해야 합니다.
노드는 서비스 품질을 적용하는 새 cgroup 계층 구조를 사용하여 리소스 제약 조건을 적용합니다. 모든 Pod는 시스템 데몬과는 별도의 전용 cgroup 계층에서 시작됩니다.
노드 적용을 구성하려면 적절한 노드 구성 맵 에서 다음 매개 변수를 사용합니다.
예 22.2. 노드 Cgroup 설정
kubeletArguments: cgroups-per-qos: - "true" 1 cgroup-driver: - "systemd" 2 enforce-node-allocatable: - "pods" 3
- 1
- 각 서비스 품질에 대해 cgroup 계층 구조를 활성화하거나 비활성화합니다. cgroup은 노드에서 관리합니다. 이 설정을 변경하려면 노드를 완전히 드레이닝해야 합니다. 노드에서 node-allocatable 리소스 제약 조건을 적용할 수 있도록 하려면 이 플래그가
true
여야 합니다. 기본값은true
이며 Red Hat은 고객이 이 값을 변경하는 것을 권장하지 않습니다. - 2
- cgroup 계층 구조를 관리하기 위해 노드에서 사용하는 cgroup 드라이버입니다. 이 값은 컨테이너 런타임과 연결된 드라이버와 일치해야 합니다. 유효한 값은
systemd
및cgroupfs
이지만 Red Hat은systemd
만 지원합니다. - 3
- 노드에서 노드 리소스 제약 조건을 적용해야 하는 쉼표로 구분된 범위 목록입니다. 기본값은
pods
이며 Red Hat은Pod
만 지원합니다.
관리자는 서비스 품질이 보장된 Pod와 비슷한 시스템 데몬을 처리해야 합니다. 시스템 데몬은 바인딩 제어 그룹 내에서 버스트될 수 있으며 이 동작은 클러스터 배포의 일부로 관리해야 합니다. 할당된 리소스에 대한 노드 구성 섹션에 표시된 대로 system-reserved
에서 리소스를 지정하여 시스템 데몬의 CPU 및 메모리 리소스를 예약합니다.
설정된 cgroup 드라이버를 보려면 다음 명령을 실행합니다.
$ systemctl status atomic-openshift-node -l | grep cgroup-driver=
출력에는 다음과 유사한 응답이 포함됩니다.
--cgroup-driver=systemd
cgroup 드라이버 관리 및 문제 해결에 대한 자세한 내용은 컨트롤 그룹(Cgroups) 소개를 참조하십시오.