milvus-logo
LFAI
Home
  • Guía de administración

Configurar un balanceador de carga de capa 7 para Milvus en AWS

En comparación con un equilibrador de carga de capa 4, un equilibrador de carga de capa 7 ofrece capacidades inteligentes de equilibrio de carga y almacenamiento en caché y es una gran opción para los servicios nativos de la nube.

Esta guía le guía a través de la configuración de un equilibrador de carga de capa 7 para un clúster Milvus que ya se está ejecutando detrás de un equilibrador de carga de capa 4.

Antes de empezar

Ajustar las configuraciones de Milvus

Esta guía asume que ya ha implementado un clúster Milvus detrás de un equilibrador de carga de capa 4 en AWS.

Antes de configurar un equilibrador de carga de capa 7 para este clúster Milvus, ejecute el siguiente comando para eliminar el equilibrador de carga de capa 4.

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

Prepare los certificados TLS

TLS requiere certificados para funcionar. Estamos utilizando ACM para gestionar certificados y necesitamos importar un certificado existente en ACM. Consulte Importar certificado. A continuación se muestra un ejemplo.

# 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  

Crear un Ingress para generar un equilibrador de carga de capa 7

Prepare el archivo ingress como se indica a continuación y nómbrelo ingress.yaml. Sustituya el arn y el host del certificado por los suyos propios.

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

A continuación, puede crear el Ingress aplicando el archivo a su clúster EKS.

kubectl apply -f ingress.yaml

Ahora, espera a que AWS configure el balanceador de carga de capa 7. Puedes comprobar el progreso ejecutando

kubectl -f ingress.yaml get -w

La salida debería ser similar a la siguiente:

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

Una vez que aparezca una dirección en el campo ADDRESS, el equilibrador de carga Layer-7 estará listo para su uso.

Verificar la conexión a través del equilibrador de carga Layer-7

Esta guía utiliza PyMilvus para verificar la conexión al servicio Milvus detrás del equilibrador de carga Layer-7 que acabamos de crear. Para pasos detallados, lea esto.

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")
  • El host y server_name deben ser reemplazados por los tuyos.
  • Si ha configurado un registro DNS para asignar el nombre de dominio al alb, sustituya el host por el nombre de dominio y omita server_name.

Traducido porDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

¿Fue útil esta página?