-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Deploy a Milvus Cluster on EKS
This topic describes how to deploy a Milvus cluster on Amazon EKS.
- Access to EKS, EC2, and S3
- Access key ID
- Security access key
You can download template configuration files at Google Drive.
-
Provision a Milvus cluster. See Provision a Milvus cluster for more information.
-
After a Milvus cluster is provisioned, run the following command with a region and name for the cluster.
aws eks --region ${aws-region} update-kubeconfig --name ${cluster-name}
-
Create a kubeconfig file and run
kubectl get svc
. If successful, a cluster appears in the output.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 172.20.0.1 <none> 443/TCP 106m
-
Run the following command to start the Milvus cluster that you have provisioned. The access key and an S3 bucket are required to use S3 as storage.
helm upgrade --install --set cluster.enabled=true --set externalS3.enabled=true --set externalS3.host='s3.us-east-2.amazonaws.com' --set externalS3.port=80 --set externalS3.accessKey=${access-key} --set externalS3.secretKey=${secret-key} --set externalS3.bucketName=${bucket-name} --set minio.enabled=False --set service.type=LoadBalancer milvus milvus/milvus
- Run
kubectl get svc
again to retrieve the IP address of the load balancer and use it as the IP address of the Milvus cluster.
kubectl get pods
to view the running pods on the cluster.Currently, a Milvus cluster can only be scaled manually. Run the following command to modify the numbers of node instances with different types.
helm upgrade --install --set cluster.enabled=true --set dataNode.replicas=1 --set indexNode.replicas=1 --set queryNode.replicas=1 --set proxy.replicas=1 --set externalS3.enabled=true --set externalS3.host='s3.us-east-2.amazonaws.com' --set externalS3.port=80 --set externalS3.accessKey=${access-key} --set externalS3.secretKey=${secret-key} --set externalS3.bucketName=${bucket-name} --set minio.enabled=False --set service.type=LoadBalancer milvus milvus/milvus
After running the preceding command, you can run kubectl get pods
to view the newly created node instances.