5.7. 리소스 관리 및 성능 고려 사항
Network Observability에 필요한 리소스 양은 클러스터의 크기와 관찰성 데이터를 수집하고 저장하는 클러스터의 요구 사항에 따라 달라집니다. 리소스를 관리하고 클러스터의 성능 기준을 설정하려면 다음 설정을 구성하는 것이 좋습니다. 이러한 설정을 구성하면 최적의 설정 및 관찰 기능 요구 사항이 충족될 수 있습니다.
다음 설정을 사용하면 처음부터 리소스 및 성능을 관리하는 데 도움이 될 수 있습니다.
- eBPF 샘플링
-
Sampling 사양인
spec.agent.ebpf.sampling
을 설정하여 리소스를 관리할 수 있습니다. 더 작은 샘플링 값은 많은 양의 컴퓨팅, 메모리 및 스토리지 리소스를 사용할 수 있습니다. 샘플링 비율 값을 지정하여 이를 완화할 수 있습니다. 값이100
이면 100개마다 하나의 흐름이 샘플링됩니다. 값이0
또는1
이면 모든 흐름이 캡처됩니다. 값이 작으면 반환된 흐름이 증가하고 파생 메트릭의 정확도가 증가합니다. 기본적으로 eBPF 샘플링은 값 50으로 설정되므로 50마다 하나의 흐름이 샘플링됩니다. 더 많은 샘플 흐름은 더 많은 스토리지가 필요하다는 것을 의미합니다. 클러스터가 관리할 수 있는 설정을 결정하기 위해 기본값을 시작하고 실제적으로 구체화하는 것이 좋습니다. - 인터페이스 제한 또는 제외
-
spec.agent.ebpf.interfaces
및spec.agent.ebpf.excludeInterfaces
값을 설정하여 전체 관찰 트래픽을 줄입니다. 기본적으로 에이전트는excludeInterfaces
및lo
(로컬 인터페이스)에 나열된 인터페이스를 제외하고 시스템의 모든 인터페이스를 가져옵니다. 인터페이스 이름은 사용된 CNI(Container Network Interface)에 따라 다를 수 있습니다.
다음 설정을 사용하여 잠시 동안 Network Observability가 실행된 후 성능을 미세 조정할 수 있습니다.
- 리소스 요구 사항 및 제한
-
spec.agent.ebpf.resources
및spec.processor.resources
사양을 사용하여 클러스터에서 예상되는 로드 및 메모리 사용량에 리소스 요구 사항 및 제한을 조정합니다. 대부분의 중간 크기의 클러스터에는 800MB의 기본 제한이 충분할 수 있습니다. - 캐시 최대 흐름 시간 초과
-
eBPF 에이전트의
spec.agent.ebpf.cacheMaxFlows
및spec.agent.ebpf.cacheActiveTimeout
사양을 사용하여 에이전트에서 보고하는 빈도를 제어합니다. 값이 클수록 에이전트가 더 적은 트래픽이 생성되므로 더 낮은 CPU 로드와 관련이 있습니다. 그러나 값이 클수록 메모리 사용량이 약간 길어지고 흐름 수집에서 대기 시간이 증가할 수 있습니다.
5.7.1. 리소스 고려 사항
다음 표에는 특정 워크로드 크기가 있는 클러스터의 리소스 고려 사항의 예가 요약되어 있습니다.
표에 설명된 예제에서는 특정 워크로드에 맞는 시나리오를 보여줍니다. 각 예제를 워크로드 요구 사항을 충족하기 위해 조정할 수 있는 기준으로만 고려해 보십시오.
추가 소규모(10개 노드) | 소규모(25개 노드) | 중간(65 노드) [2] | 대규모(120개 노드) [2] | |
---|---|---|---|---|
작업자 노드 vCPU 및 메모리 | 4개의 vCPU| 16GiB mem [1] | 16개의 vCPU| 64GiB mem [1] | 16개의 vCPU| 64GiB mem [1] | 16개의 vCPU| 64GiB Mem [1] |
LokiStack 크기 |
|
|
|
|
네트워크 Observability 컨트롤러 메모리 제한 | 400Mi(기본값) | 400Mi(기본값) | 400Mi(기본값) | 400Mi(기본값) |
eBPF 샘플링 속도 | 50(기본값) | 50(기본값) | 50(기본값) | 50(기본값) |
eBPF 메모리 제한 | 800Mi (기본값) | 800Mi (기본값) | 800Mi (기본값) | 1600Mi |
CryostatP 메모리 제한 | 800Mi (기본값) | 800Mi (기본값) | 800Mi (기본값) | 800Mi (기본값) |
CryostatP Kafka 파티션 | 해당 없음 | 48 | 48 | 48 |
Kafka 소비자 복제본 | 해당 없음 | 24 | 24 | 24 |
Kafka 브로커 | 해당 없음 | 3 (기본값) | 3 (기본값) | 3 (기본값) |
- AWS M6i 인스턴스로 테스트되었습니다.
-
이 작업자와 컨트롤러 외에도 3개의 인프라 노드(크기
M6i.12xlarge
) 및 1 워크로드 노드(M6i.8xlarge
크기)를 테스트했습니다.