쿠버네티스에서 리소스 할당하기
이 항목에서는 쿠버네티스의 Milvus 클러스터에 리소스를 할당하는 방법을 설명합니다.
일반적으로, 프로덕션 환경에서 Milvus 클러스터에 할당하는 리소스는 머신 워크로드에 비례해야 합니다. 리소스를 할당할 때 머신 유형도 고려해야 합니다. 클러스터가 실행 중일 때 구성을 업데이트할 수 있지만 클러스터를 배포하기 전에 값을 설정하는 것이 좋습니다.
Milvus 운영자를 사용하여 리소스를 할당하는 방법에 대한 자세한 내용은 Milvus 운영자를 사용하여 리소스 할당하기를 참조하세요.
1. 사용 가능한 리소스 보기
kubectl describe nodes
를 실행하여 프로비저닝한 인스턴스에서 사용 가능한 리소스를 확인합니다.
2. 리소스 할당하기
헬름을 사용하여 CPU와 메모리 리소스를 밀버스 컴포넌트에 할당한다.
헬름을 사용하여 리소스를 업그레이드하면 실행 중인 파드가 롤링 업데이트를 수행하게 된다.
리소스를 할당하는 방법에는 두 가지가 있다:
명령어로 리소스 할당
--set
를 사용하여 리소스 구성을 업데이트하는 경우 각 Milvus 구성 요소에 대한 리소스 변수를 설정해야 합니다.
helm upgrade my-release milvus/milvus --reuse-values --set standalone.resources.limits.cpu=2 --set standalone.resources.limits.memory=4Gi --set standalone.resources.requests.cpu=0.1 --set standalone.resources.requests.memory=128Mi
helm upgrade my-release milvus/milvus --reuse-values --set dataNode.resources.limits.cpu=2 --set dataNode.resources.limits.memory=4Gi --set dataNode.resources.requests.cpu=0.1 --set dataNode.resources.requests.memory=128Mi
구성 파일을 설정하여 리소스 할당
resources.yaml
파일에 resources.requests
및 resources.limits
파라미터를 지정하여 CPU 및 메모리 리소스를 할당할 수도 있습니다.
dataNode:
resources:
limits:
cpu: "4"
memory: "16Gi"
requests:
cpu: "1"
memory: "4Gi"
queryNode:
resources:
limits:
cpu: "4"
memory: "16Gi"
requests:
cpu: "1"
memory: "4Gi"
3. 구성 적용
다음 명령어를 실행하여 Milvus 클러스터에 새 구성을 적용합니다.
helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml
resources.limits
을 지정하지 않으면, 파드가 사용 가능한 모든 CPU 및 메모리 리소스를 사용하게 됩니다. 따라서 동일한 인스턴스에서 실행 중인 다른 작업에서 더 많은 메모리 소비가 필요한 경우 리소스의 전체 할당을 피하려면 resources.requests
및 resources.limits
을 지정해야 합니다.리소스 관리에 대한 자세한 내용은 쿠버네티스 설명서를 참조한다.
다음 단계
- 다음 방법을 배울 수도 있습니다:
- 클라우드에 클러스터를 배포할 준비가 되셨다면: