Milvus 종속성 확장
Milvus는 MinIO, Kafka, Pulsar 등 다양한 종속 요소에 의존합니다. 이러한 구성 요소를 확장하면 다양한 요구 사항에 대한 Milvus의 적응성을 향상시킬 수 있습니다.
밀버스 오퍼레이터 사용자의 경우 밀버스 오퍼레이터 종속성 관리를 참조하세요.
MinIO 스케일링
MinIO 포드당 리소스 늘리기
Milvus에서 사용하는 오브젝트 스토리지 시스템인 MinIO는 각 포드에 대해 CPU 및 메모리 리소스를 늘릴 수 있습니다.
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
파일을 저장한 후 다음 명령어로 변경 사항을 적용하세요:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
또한 각 MioIO 영구 볼륨 클레임(PVC)에 대해 spec.resources.requests.storage
값을 수동으로 변경하여 MioIO 클러스터의 디스크 용량을 늘릴 수 있습니다. 기본 스토리지 클래스는 볼륨 확장을 허용해야 한다는 점에 유의하세요.
추가 MinIO 서버 풀 추가(권장)
Milvus 인스턴스를 위해 추가 MioIO 서버 풀을 추가하는 것이 좋습니다.
# new-values.yam;
minio:
zones: 2
파일을 저장한 후 다음 명령으로 변경 사항을 적용합니다:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
이렇게 하면 MinIO 클러스터에 추가 서버 풀이 추가되어 각 서버 풀의 여유 디스크 용량에 따라 Milvus가 MinIO 서버 풀에 쓸 수 있습니다. 예를 들어, 3개의 풀로 구성된 그룹에 다음과 같이 풀에 총 10TB의 여유 공간이 분산되어 있는 경우입니다:
여유 공간 | 쓰기 가능성 | |
---|---|---|
풀 A | 3 TiB | 30% (3/10) |
풀 B | 2 TiB | 20% (2/10) |
풀 C | 5 TiB | 50% (5/10) |
MinIO는 새 서버 풀에서 오브젝트를 자동으로 리밸런싱하지 않습니다. 필요한 경우 mc admin rebalance
에서 수동으로 리밸런싱 절차를 시작할 수 있습니다.
Kafka
Kafka 브로커 포드당 리소스 증가
각 브로커 파드의 CPU 및 메모리 리소스를 조정하여 Kafka 브로커 용량을 향상하세요.
# new-values.yaml
kafka:
resources:
limits:
cpu: 2
memory: 12Gi
파일을 저장한 후 다음 명령어로 변경 사항을 적용합니다:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
또한 각 Kafka 영구 볼륨 클레임(PVC)에 대해 spec.resources.requests.storage
값을 수동으로 변경하여 Kafka 클러스터의 디스크 용량을 늘릴 수도 있습니다. 기본 스토리지 클래스가 볼륨 확장을 허용하는지 확인합니다.
추가 Kafka 브로커 풀 추가(권장)
Milvus 인스턴스를 위해 추가 Kafka 서버 풀을 추가하는 것이 좋습니다.
# new-values.yaml
kafka:
replicaCount: 4
파일을 저장한 후 다음 명령으로 변경 사항을 적용합니다:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
이렇게 하면 Kafka 클러스터에 추가 브로커가 추가됩니다.
Kafka는 모든 브로커에서 토픽을 자동으로 리밸런싱하지 않습니다. 필요한 경우 각 Kafka 브로커 포드에 로그인한 후 bin/kafka-reassign-partitions.sh
을 사용하여 모든 Kafka 브로커에서 토픽/파티션의 균형을 수동으로 재조정하세요.
Pulsar
Pulsar는 계산과 스토리지를 분리합니다. Pulsar 브로커(계산)와 Pulsar 부키(저장)의 용량을 독립적으로 늘릴 수 있습니다.
Pulsar 브로커 포드당 리소스 늘리기
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
파일을 저장한 후 다음 명령으로 변경 사항을 적용하세요:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Pulsar 부키 포드당 리소스 늘리기
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
파일을 저장한 후 다음 명령으로 변경 사항을 적용하세요:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
각 Pulsar 부키의 PVC(퍼시스턴트 볼륨 클레임)에 대해 spec.resources.requests.storage
값을 수동으로 변경하여 Pulsar 클러스터의 디스크 용량을 늘릴 수도 있습니다. 기본 스토리지 클래스는 볼륨 확장을 허용해야 한다는 점에 유의하세요.
Pulsar 부키 포드에는 journal
와 legers
의 두 가지 유형의 스토리지가 있습니다. journal
유형의 스토리지의 경우, ssd
또는 gp3
를 스토리지 클래스로 사용하는 것이 좋습니다. 다음은 펄서 저널의 스토리지 클래스를 지정하는 예제입니다.
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
추가 Pulsar 브로커 포드 추가
# new-values.yaml
pulsar:
broker:
replicaCount: 3
파일을 저장한 후 다음 명령어로 변경 사항을 적용합니다:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
추가 Pulsar 부키 포드 추가(권장)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
파일을 저장한 후 다음 명령어로 변경 사항을 적용합니다:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
etcd 파드당 리소스 늘리기(권장)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
파일을 저장한 후, 다음 명령어로 변경 사항을 적용합니다:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
추가 etcd 파드 추가
etcd 파드의 총 개수는 홀수여야 합니다.
# new-values.yaml
etcd:
replicaCount: 5
파일을 저장한 후 다음 명령어로 변경 사항을 적용합니다:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus