milvus-logo
LFAI
Home
  • Guia de Administração

Configurar um balanceador de carga de camada 7 para o Milvus no AWS

Quando comparado a um balanceador de carga de camada 4, um balanceador de carga de camada 7 oferece recursos inteligentes de balanceamento de carga e armazenamento em cache e é uma ótima opção para serviços nativos da nuvem.

Este guia orienta-o na configuração de um balanceador de carga de camada 7 para um cluster Milvus já em execução atrás de um balanceador de carga de camada 4.

Antes de começar

Ajustar as configurações do Milvus

Este guia pressupõe que você já implantou um cluster Milvus por trás de um balanceador de carga de camada 4 no AWS.

Antes de configurar um balanceador de carga da Camada 7 para esse cluster do Milvus, execute o seguinte comando para remover o balanceador de carga da Camada 4.

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

Preparar certificados TLS

O TLS requer certificados para funcionar. Estamos a usar o ACM para gerir certificados e precisamos de importar um certificado existente para o ACM. Consulte Importar certificado. A seguir, um exemplo.

# 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  

Criar um Ingress para gerar um balanceador de carga de camada 7

Prepare o ficheiro de entrada da seguinte forma e dê-lhe o nome de ingress.yaml. Substitua o arn do certificado e o host pelo seu próprio.

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

Em seguida, você pode criar o Ingress aplicando o arquivo ao cluster do EKS.

kubectl apply -f ingress.yaml

Agora, aguarde até que o AWS configure o balanceador de carga de camada 7. Você pode verificar o progresso executando

kubectl -f ingress.yaml get -w

A saída deve ser semelhante à seguinte:

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

Quando um endereço for exibido no campo ENDEREÇO, o balanceador de carga da Camada 7 estará pronto para uso.

Verificar a conexão através do balanceador de carga Layer-7

Este guia usa o PyMilvus para verificar a conexão com o serviço Milvus por trás do balanceador de carga Layer-7 que acabamos de criar. Para obter etapas detalhadas, leia isto.

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")
  • O host e o nome_do_servidor devem ser substituídos pelo seu próprio nome.
  • Se tiver configurado um registo DNS para mapear o nome de domínio para o alb, substitua o anfitrião pelo nome de domínio e omita server_name.

Traduzido porDeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Esta página foi útil?