🚀 免費嘗試 Zilliz Cloud,完全托管的 Milvus,體驗速度提升 10 倍!立即嘗試

milvus-logo
LFAI
主頁
  • 管理指南
  • Home
  • Docs
  • 管理指南

  • 部署

  • 第 7 層負載平衡

  • AWS

在 AWS 上為 Milvus 設定第 7 層負載平衡器

與第 4 層負載平衡器相比,第 7 層負載平衡器提供智慧型負載平衡和快取功能,是雲原生服務的最佳選擇。

本指南將教您如何為已經在第 4 層負載平衡器後面執行的 Milvus 叢集設定第 7 層負載平衡器。

開始之前

調整 Milvus 配置

本指南假設您已在 AWS 的第 4 層負載平衡器後部署 Milvus 叢集

在為此 Milvus 叢集設定第 7 層負載平衡器之前,請執行下列指令移除第 4 層負載平衡器。

helm upgrade milvus-demo milvus/milvus -n milvus --set service.type=ClusterIP

準備 TLS 證書

TLS 需要憑證才能運作。我們使用ACM管理憑證,需要將現有的憑證匯入 ACM。請參考匯入憑證。以下是一個範例。

# If the import-certificate command is successful, it returns the arn of the imported certificate.
aws acm import-certificate --certificate fileb://Certificate.pem \
      --certificate-chain fileb://CertificateChain.pem \
      --private-key fileb://PrivateKey.pem  

建立 Ingress 以產生第七層負載平衡器

按以下方式準備 Ingress 檔案,並將其命名為ingress.yaml請將憑證 arn 和 host 改為您自己的。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: milvus
  name: milvus-demo
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/backend-protocol-version: GRPC
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    alb.ingress.kubernetes.io/certificate-arn: "arn:aws:acm:region:account-id:certificate/certificate-id"

spec:
  ingressClassName: alb
  rules:
    - host: milvus-demo.milvus.io
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: milvus-demo
              port:
                number: 19530

然後,您就可以將該檔案套用到 EKS 叢集來建立 Ingress。

kubectl apply -f ingress.yaml

現在,等待 AWS 設定 Layer-7 負載平衡器。您可以執行

kubectl -f ingress.yaml get -w

輸出應該與下面相似:

NAME          CLASS   HOSTS                   ADDRESS                                                                PORTS   AGE
milvus-demo   alb     milvus-demo.milvus.io   k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com   80      10m

一旦ADDRESS欄位顯示地址,Layer-7 負載平衡器就可以使用了。

驗證透過 Layer-7 負載平衡器的連線

本指南使用 PyMilvus 來驗證與我們剛剛建立的 Layer-7 負載平衡器後面的 Milvus 服務的連線。如需詳細步驟,請閱讀此內容。

from pymilvus import (
    connections,
    utility,
    FieldSchema,
    CollectionSchema,
    DataType,
    Collection,
)

connections.connect("default", host="k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com", port="443", secure=True, server_name="milvus-demo.milvus.io")
  • hostserver_name應該用您自己的名稱取代。
  • 如果您已經設定 DNS 記錄,將網域名稱對應到 alb,請將host改為網域名稱,並省略server_name

免費嘗試托管的 Milvus

Zilliz Cloud 無縫接入,由 Milvus 提供動力,速度提升 10 倍。

開始使用
反饋

這個頁面有幫助嗎?