🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Panduan Administrasi
  • Home
  • Docs
  • Panduan Administrasi

  • Penyebaran

  • Di Atas Awan

  • Menyebarkan pada GCP

Menerapkan Cluster Milvus di GKE

Milvus adalah basis data vektor asli cloud dan dapat digunakan di berbagai lingkungan cloud. Panduan ini memandu Anda melalui setiap detail tentang menyiapkan Milvus di Google Cloud Platform (GCP).

Deploy a Milvus cluster on GCP Menerapkan cluster Milvus di GCP

Sebelum memulai

Untuk menerapkan Milvus di GCP, pastikan bahwa

Menyiapkan jaringan

Untuk memastikan keamanan Milvus, Anda perlu membuat jaringan virtual yang terisolasi secara logis dalam proyek GCP Anda. Perintah berikut ini akan membuat sebuah VPC.

gcloud compute networks create milvus-network \
    --project=milvus-testing-nonprod \
    --subnet-mode=auto \
    --mtu=1460 \
    --bgp-routing-mode=regional

Untuk memfasilitasi pekerjaan Anda, Anda juga perlu menyiapkan beberapa aturan firewall untuk mengizinkan lalu lintas eksternal melalui ICMP, RDP, dan SSH serta lalu lintas di dalam VPC.

gcloud compute firewall-rules create milvus-network-allow-icmp \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows ICMP connections from any source to any instance on the network." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=0.0.0.0/0 \
    --action=ALLOW \
    --rules=icmp

gcloud compute firewall-rules create milvus-network-allow-internal \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows connections from any source in the network IP range to any instance on the network using all protocols." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=10.128.0.0/9 \
    --action=ALLOW --rules=all

gcloud compute firewall-rules create milvus-network-allow-rdp \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows RDP connections from any source to any instance on the network using port 3389." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=0.0.0.0/0 \
    --action=ALLOW \
    --rules=tcp:3389

gcloud compute firewall-rules create milvus-network-allow-ssh \
    --project=milvus-testing-nonprod \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --description="Allows TCP connections from any source to any instance on the network using port 22." \
    --direction=INGRESS \
    --priority=65534 \
    --source-ranges=0.0.0.0/0 \
    --action=ALLOW \
    --rules=tcp:22

Terakhir, Anda perlu mengizinkan lalu lintas masuk ke instans Milvus yang akan kita buat nanti di port 19530.

gcloud compute firewall-rules create allow-milvus-in \
    --project=milvus-testing-nonprod  \
    --description="Allow ingress traffic for Milvus on port 19530" \
    --direction=INGRESS \
    --priority=1000 \
    --network=projects/milvus-testing-nonprod/global/networks/milvus-network \
    --action=ALLOW \
    --rules=tcp:19530 \
    --source-ranges=0.0.0.0/0

Menyediakan klaster Kubernetes

Dalam panduan ini, kita akan menggunakan layanan Google Kubernetes Engine (GKE) untuk menyediakan klaster Kubernetes dengan dua node di zona us-west1-a. Setiap node adalah mesin virtual Compute Engine e2-standard-4 yang menjalankan citra COS_CONTAINERD.

Anda disarankan untuk menggunakan jenis mesin yang menawarkan memori minimum 16 GB untuk memastikan stabilitas layanan.

gcloud container clusters create "milvus-cluster-1" \
    --project "milvus-testing-nonprod" \
    --zone "us-west1-a" \
    --workload-pool "milvus-testing-nonprod.svc.id.goog" \
    --no-enable-basic-auth \
    --cluster-version "1.28.10-gke.1075001" \
    --release-channel "regular" \
    --machine-type "c2-standard-4" \
    --image-type "COS_CONTAINERD" \
    --disk-type "pd-standard" \
    --disk-size "100" \
    --max-pods-per-node "110" \
    --num-nodes "3" \
    --enable-ip-alias \
    --network "projects/milvus-testing-nonprod/global/networks/milvus-network" \
    --subnetwork "projects/milvus-testing-nonprod/regions/us-west1/subnetworks/milvus-network"

Diperlukan waktu beberapa menit agar kluster Kubernetes dapat aktif. Setelah klaster siap, gunakan perintah berikut ini untuk mengambil kredensial sehingga Anda dapat menjalankan perintah kubectl di terminal Anda untuk berkomunikasi dengan klaster dari jarak jauh.

gcloud container clusters get-credentials milvus-cluster-1 --zone "us-west1-a"

Gunakan Google Cloud Storage (GCS) sebagai penyimpanan objek eksternal

  • Buat bucket.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • Buat Kunci Akses Pengguna dan Kunci Rahasia, Anda harus masuk ke halaman penyimpanan proyek Anda. Di bilah sisi kiri dasbor, klik Google Cloud Storage, lalu Pengaturan. Pilih tab Interoperabilitas. Jika Anda belum mengaktifkannya, klik Akses yang Dapat Dioperasikan. Kemudian klik tombol BUAT KUNCI untuk membuat.

GCP Access keys for your user account Kunci Akses GCP untuk akun pengguna Anda

  • Tambahkan nilai-nilai.yaml
cluster:
    enabled: true

service:
    type: LoadBalancer

minio:
    enabled: false

externalS3:
    enabled: true
    host: storage.googleapis.com
    port: 443
    rootPath: milvus/my-release
    bucketName: milvus-testing-nonprod
    cloudProvider: gcp
    useSSL: true
    accessKey: "<access-key>"
    secretKey: "<secret-key>"

Menyebarkan Milvus

Sekarang, kluster Kubernetes sudah siap. Mari kita terapkan Milvus sekarang juga.

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

Pada perintah sebelumnya, kita menambahkan repo peta Milvus Helm secara lokal dan memperbarui repo untuk mengambil peta terbaru. Kemudian kita menginstal sebuah instans Milvus dan menamainya dengan nama my-release.

Perhatikan nilai konfigurasi service.type, yang mengindikasikan bahwa kita ingin mengekspos instans Milvus melalui penyeimbang beban Layer-4.

Jika Anda ingin mengekspos instans Milvus Anda melalui penyeimbang beban Layer-7, bacalah ini.

Verifikasi penerapan

Setelah semua pod berjalan, jalankan perintah berikut ini untuk mendapatkan alamat IP eksternal.

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

Halo Milvus

Silakan merujuk ke Hello Milvus, ubah nilai host ke alamat IP eksternal, lalu jalankan kodenya.

Apa selanjutnya

Jika Anda ingin mempelajari cara menerapkan Milvus di cloud lain:

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?