milvus-logo
LFAI
홈페이지
  • 관리 가이드
    • 배포

AKS를 사용하여 Azure에 Milvus 배포하기

이 항목에서는 Azure Kubernetes Service (AKS) 및 Azure 포털을 사용하여 클러스터를 프로비저닝하고 생성하는 방법에 대해 설명합니다.

전제 조건

Azure 프로젝트가 올바르게 설정되어 있고 사용하려는 리소스에 액세스할 수 있는지 확인합니다. 액세스 권한이 확실하지 않은 경우 관리자에게 문의하세요.

소프트웨어 요구 사항

또는 Azure CLI, kubectl 및 Helm이 사전 설치된 Cloud Shell을 사용할 수 있습니다.

Azure CLI를 설치한 후, 제대로 인증되었는지 확인한다.

Kubernetes 클러스터 프로비저닝하기

  1. Azure 포털에 로그온합니다.
  2. Azure 포털 메뉴 또는 페이지에서 리소스 만들기를 선택합니다.
  3. 컨테이너 > Kubernetes 서비스를 선택합니다.
  4. 기본 페이지에서 다음 옵션을 구성합니다:
  • 프로젝트 세부 정보:

    • 구독: 조직의 Azure 관리자에게 문의하여 어떤 구독을 사용해야 하는지 결정합니다.

      • 리소스 그룹: 조직의 Azure 관리자에게 문의하여 사용해야 하는 리소스 그룹을 결정합니다.
  • 클러스터 세부 정보:

    • Kubernetes 클러스터 이름: 클러스터 이름을 입력합니다.

    • 지역: 리전: 리전을 선택합니다.

    • 가용 영역: 필요에 따라 가용 영역을 선택합니다. 프로덕션 클러스터의 경우, 가용 영역을 여러 개 선택하는 것이 좋습니다.

  • 기본 노드 풀:

    • 노드 크기: 최소 16GB의 RAM이 있는 VM을 선택하는 것이 좋지만 필요에 따라 가상 머신 크기를 선택할 수 있습니다.

    • 확장 방법: 확장 방법을 선택합니다.

    • 노드 수 범위: 노드 수에 대한 범위를 선택합니다.

  • 노드 풀:

    • 가상 노드를 사용 설정합니다: 가상 노드를 사용하려면 확인란을 선택합니다.

    • 가상 머신 스케일 세트 사용: enabled 을 선택하는 것이 좋습니다.

  • 네트워킹:

    • 네트워크 구성: Kubenet 을 선택하는 것이 좋습니다.

    • DNS 이름 접두사: DNS 이름 접두사를 입력합니다.

    • 트래픽 라우팅:

      • 로드 밸런서: Standard.

      • HTTP 애플리케이션 라우팅: 필요하지 않습니다.

  1. 옵션을 구성한 후 유효성 검사가 완료되면 검토 + 만들기를 클릭한 다음 만들기를 클릭합니다. 클러스터를 만드는 데 몇 분 정도 걸립니다.

클러스터에 연결하기

  1. Kubernetes 서비스에서 생성한 클러스터로 이동하여 클릭합니다.
  2. 왼쪽 탐색 창에서 Overview 을 클릭합니다.
  3. 표시되는 개요 페이지에서 연결을 클릭하여 리소스 그룹 및 구독을 확인합니다.

구독 및 자격 증명 설정

Azure Cloud Shell을 사용하여 다음 절차를 수행할 수 있습니다.
  1. 다음 명령을 실행하여 구독을 설정합니다.
az account set --subscription EXAMPLE-SUBSCRIPTION-ID
  1. 다음 명령을 실행하여 자격 증명을 다운로드하고 이를 사용하도록 Kubernetes CLI를 구성합니다.
az aks get-credentials --resource-group YOUR-RESOURCE-GROUP --name YOUR-CLUSTER-NAME
다음 절차에 동일한 셸을 사용하세요. 다른 셸로 전환하는 경우, 앞의 명령을 다시 실행하세요.

외부 오브젝트 스토리지로 Azure Blob 스토리지 사용

Azure Blob Storage는 Azure의 AWS Simple Storage Service(S3) 버전입니다.

  • 스토리지 계정 및 컨테이너 만들기
az storage account create -n milvustesting1 -g MyResourceGroup -l eastus --sku Standard_LRS --min-tls-version TLS1_2
az storage container create -n testmilvus --account-name milvustesting1
  • 비밀 키 가져오기, 첫 번째 값 사용
az storage account keys list --account-name milvustesting2
  • values.yaml 추가
cluster:
  enabled: true

service:
  type: LoadBalancer

extraConfigFiles:
  user.yaml: |+
    common:
      storageType: remote

minio:
  enabled: false

externalS3:
  enabled: true
  host: core.windows.net
  port: 443
  rootPath: my-release
  bucketName: testmilvus # the storage account container name
  cloudProvider: azure
  useSSL: true
  accessKey: "milvustesting1" # the storage account name
  secretKey: "<secret-key>" 

Milvus 배포

이제 Kubernetes 클러스터가 준비되었습니다. 지금 바로 Milvus를 배포해 보겠습니다.

helm repo add milvus https://zilliztech.github.io/milvus-helm/
helm repo update
helm install -f values.yaml my-release milvus/milvus

앞의 명령에서 Milvus Helm 차트의 리포지토리를 로컬에 추가하고 최신 차트를 가져오도록 리포지토리를 업데이트했습니다. 그런 다음 Milvus 인스턴스를 설치하고 이름을 my-release로 지정합니다.

구성 service.type 값에 주목하세요. 이는 Layer-4 로드 밸런서를 통해 Milvus 인스턴스를 노출하고 싶다는 것을 나타냅니다.

배포 확인

모든 파드가 실행되면 다음 명령을 실행하여 외부 IP 주소를 가져옵니다.

kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'

Hello Milvus

Hello Milvus를 참조하여 호스트 값을 외부 IP 주소로 변경한 다음 코드를 실행하세요.

다음 단계

다른 클라우드에 Milvus를 배포하는 방법을 알아보려면 다음과 같이 하세요: