AKS를 사용하여 Azure에 Milvus 배포하기
이 항목에서는 Azure Kubernetes Service (AKS) 및 Azure 포털을 사용하여 클러스터를 프로비저닝하고 생성하는 방법에 대해 설명합니다.
전제 조건
Azure 프로젝트가 올바르게 설정되어 있고 사용하려는 리소스에 액세스할 수 있는지 확인합니다. 액세스 권한이 확실하지 않은 경우 관리자에게 문의하세요.
소프트웨어 요구 사항
또는 Azure CLI, kubectl 및 Helm이 사전 설치된 Cloud Shell을 사용할 수 있습니다.
Kubernetes 클러스터 프로비저닝하기
- Azure 포털에 로그온합니다.
- Azure 포털 메뉴 또는 홈 페이지에서 리소스 만들기를 선택합니다.
- 컨테이너 > Kubernetes 서비스를 선택합니다.
- 기본 페이지에서 다음 옵션을 구성합니다:
프로젝트 세부 정보:
구독: 조직의 Azure 관리자에게 문의하여 어떤 구독을 사용해야 하는지 결정합니다.
- 리소스 그룹: 조직의 Azure 관리자에게 문의하여 사용해야 할 리소스 그룹을 결정합니다.
클러스터 세부 정보:
Kubernetes 클러스터 이름: 클러스터 이름을 입력합니다.
지역: 리전: 리전을 선택합니다.
가용 영역: 필요에 따라 가용 영역을 선택합니다. 프로덕션 클러스터의 경우, 가용 영역을 여러 개 선택하는 것이 좋습니다.
기본 노드 풀:
노드 크기: 최소 16GB의 RAM이 있는 VM을 선택하는 것이 좋지만 필요에 따라 가상 머신 크기를 선택할 수 있습니다.
확장 방법: 확장 방법을 선택합니다.
노드 수 범위: 노드 수에 대한 범위를 선택합니다.
노드 풀:
가상 노드를 사용 설정합니다: 가상 노드를 사용하려면 확인란을 선택합니다.
가상 머신 스케일 세트 사용:
enabled
을 선택하는 것이 좋습니다.
네트워킹:
네트워크 구성:
Kubenet
을 선택하는 것이 좋습니다.DNS 이름 접두사: DNS 이름 접두사를 입력합니다.
트래픽 라우팅:
로드 밸런서:
Standard
.HTTP 애플리케이션 라우팅: 필요하지 않습니다.
- 옵션을 구성한 후 유효성 검사가 완료되면 검토 + 만들기를 클릭한 다음 만들기를 클릭합니다. 클러스터를 만드는 데 몇 분 정도 걸립니다.
클러스터에 연결하기
- Kubernetes 서비스에서 생성한 클러스터로 이동하여 클릭합니다.
- 왼쪽 탐색 창에서
Overview
을 클릭합니다. - 표시되는 개요 페이지에서 연결을 클릭하여 리소스 그룹 및 구독을 확인합니다.
구독 및 자격 증명 설정
- 다음 명령을 실행하여 구독을 설정합니다.
az account set --subscription EXAMPLE-SUBSCRIPTION-ID
- 다음 명령을 실행하여 자격 증명을 다운로드하고 이를 사용하도록 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를 배포하는 방법을 알아보려면 다음과 같이 하세요: