擴充 Milvus 的相依性
Milvus 依賴各種依賴元件,例如 MinIO、Kafka、Pulsar 和 etcd。擴充這些元件可以增強 Milvus 對不同需求的適應性。
Milvus Operator 使用者請參考使用 MilvusOperator 配置物件儲存、使用 Milvus Operator 配置元儲存,以及使用 Milvus Operator配置訊息儲存。
擴充 MinIO
增加每個 MinIO pod 的資源
MinIO 是 Milvus 使用的物件儲存系統,可以增加每個 Pod 的 CPU 和記憶體資源。
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
儲存檔案後,使用下列指令套用變更:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
您也可以手動變更每個 MioIO Persistent Volume Claim (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 伺服器池。舉例來說,如果一組有三個伺服器池,總共有 10 TiB 的可用空間,各伺服器池的分佈如下:
可用空間 | 寫入可能性 | |
---|---|---|
池 A | 3 TiB | 30% (3/10) |
資源池 B | 2 TiB | 20% (2/10) |
池 C | 5 TiB | 50% (5/10) |
MinIO 不會在新伺服器池中自動重新平衡物件。如果需要,您可以使用mc admin rebalance
手動啟動重新平衡程序。
Kafka
增加每個 Kafka 代理 pod 的資源
透過調整每個 Kafka 代理 pod 的 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 Persistent Volume Claim (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 代理 pod 之後使用bin/kafka-reassign-partitions.sh
在所有 Kafka 代理之間手動重新平衡主題/分區。
Pulsar
Pulsar 將計算和儲存分開。您可以獨立增加 Pulsar 代理伺服器(運算)和 Pulsar 帳戶(儲存)的容量。
增加每個 Pulsar 代理 pod 的資源
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
儲存檔案後,使用下列指令套用變更:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
增加每個 Pulsar 莊家 pod 的資源
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
儲存檔案後,使用下列指令套用變更:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
您也可以透過手動變更每個 Pulsar 書籤管理員的 Persistent Volume Claim (PVC) 的值spec.resources.requests.storage
來增加 Pulsar 叢集的磁碟容量。請注意,您的預設儲存類別應允許卷擴充。
Pulsar bookie pod 有兩種儲存類型:journal
和legers
。對於journal
儲存類型,請考慮使用ssd
或gp3
作為儲存類別。以下是為 Pulsar 日誌指定儲存類別的範例。
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
新增額外的 Pulsar 代理 pod
# new-values.yaml
pulsar:
broker:
replicaCount: 3
儲存檔案後,使用下列指令套用變更:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
新增一個額外的 Pulsar bookie pod (建議)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
儲存檔案後,使用下列指令套用變更:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
增加每個 etcd pod 的資源 (建議)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
儲存檔案後,使用下列指令套用變更:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
增加額外的 etcd pod
etcd pod 的總數應為奇數。
# new-values.yaml
etcd:
replicaCount: 5
儲存檔案後,使用下列指令套用變更:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus