Menjalankan Milvus di Kubernetes dengan Helm
Halaman ini mengilustrasikan cara memulai instans Milvus di Kubernetes menggunakan bagan Helm Milvus.
Gambaran umum
Helm menggunakan format pengemasan yang disebut bagan. Bagan adalah kumpulan berkas yang mendeskripsikan sekumpulan sumber daya Kubernetes terkait. Milvus menyediakan sekumpulan bagan untuk membantu Anda menerapkan dependensi dan komponen Milvus.
Prasyarat
Instal StorageClass. Anda dapat memeriksa StorageClass yang terinstal sebagai berikut.
$ kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBIINDINGMODE ALLOWVOLUMEEXPANSION AGE standard (default) k8s.io/minikube-hostpath Delete Immediate false
Periksa persyaratan perangkat keras dan perangkat lunak sebelum instalasi.
Sebelum menginstal Milvus, disarankan untuk menggunakan Milvus Sizing Tool untuk memperkirakan kebutuhan perangkat keras berdasarkan ukuran data Anda. Hal ini membantu memastikan kinerja dan alokasi sumber daya yang optimal untuk instalasi Milvus Anda.
Jika Anda mengalami masalah dalam menarik gambar, hubungi kami di community@zilliz.com dengan rincian tentang masalahnya, dan kami akan memberikan dukungan yang diperlukan.
Menginstal Milvus Helm Chart
Sebelum menginstal Milvus Helm Charts, Anda harus menambahkan repositori Milvus Helm.
$ helm repo add milvus https://zilliztech.github.io/milvus-helm/
Repositori Milvus Helm Charts di https://github.com/milvus-io/milvus-helm
telah diarsipkan dan Anda dapat memperoleh pembaruan lebih lanjut dari https://github.com/zilliztech/milvus-helm
sebagai berikut:
helm repo add zilliztech https://zilliztech.github.io/milvus-helm/
helm repo update
# upgrade existing helm release
helm upgrade my-release zilliztech/milvus
Repo yang diarsipkan masih tersedia untuk grafik hingga versi 4.0.31. Untuk rilis yang lebih baru, gunakan repo yang baru.
Kemudian ambil grafik Milvus dari repositori sebagai berikut:
$ helm repo update
Anda selalu dapat menjalankan perintah ini untuk mengambil grafik Milvus Helm terbaru.
Instalasi online
1. Menerapkan sebuah cluster Milvus
Setelah Anda menginstal bagan Helm, Anda dapat memulai Milvus di Kubernetes. Bagian ini akan memandu Anda melalui langkah-langkah untuk memulai Milvus.
$ helm install my-release milvus/milvus
Pada perintah di atas, my-release
adalah nama rilis, dan milvus/milvus
adalah repositori bagan yang terinstal secara lokal. Untuk menggunakan nama yang berbeda, ganti my-release
dengan nama yang Anda inginkan.
Perintah di atas men-deploy sebuah cluster Milvus dengan komponen dan dependensinya menggunakan konfigurasi default. Untuk menyesuaikan pengaturan ini, kami sarankan Anda menggunakan Milvus Sizing Tool untuk menyesuaikan konfigurasi berdasarkan ukuran data Anda yang sebenarnya, lalu mengunduh berkas YAML yang sesuai. Untuk mempelajari lebih lanjut tentang parameter konfigurasi, lihat Daftar Periksa Konfigurasi Sistem Milvus.
- Nama rilis hanya boleh terdiri dari huruf, angka, dan tanda hubung. Titik tidak diperbolehkan dalam nama rilis.
- Baris perintah default menginstal versi cluster Milvus saat menginstal Milvus dengan Helm. Pengaturan lebih lanjut diperlukan saat menginstal Milvus secara mandiri.
- Menurut panduan migrasi API yang sudah tidak digunakan lagi dari Kubernetes, versi API policy/v1beta1 dari PodDisruptionBudget tidak lagi dilayani pada v1.25. Anda disarankan untuk memigrasi manifes dan klien API untuk menggunakan versi API policy/v1 sebagai gantinya.
Sebagai solusi untuk pengguna yang masih menggunakan versi API policy/v1beta1 dari PodDisruptionBudget di Kubernetes v1.25 dan yang lebih baru, Anda dapat menjalankan perintah berikut ini untuk menginstal Milvus:
helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
- Lihat Bagan dan Helm Milvus untuk informasi lebih lanjut.
2. Memeriksa status klaster Milvus
Jalankan perintah berikut untuk memeriksa status semua pod dalam cluster Milvus Anda.
$ kubectl get pods
Setelah semua pod berjalan, keluaran dari perintah di atas akan serupa dengan yang berikut ini:
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 3m23s
my-release-etcd-1 1/1 Running 0 3m23s
my-release-etcd-2 1/1 Running 0 3m23s
my-release-milvus-datanode-68cb87dcbd-4khpm 1/1 Running 0 3m23s
my-release-milvus-indexnode-5c5f7b5bd9-l8hjg 1/1 Running 0 3m24s
my-release-milvus-mixcoord-7fb9488465-dmbbj 1/1 Running 0 3m23s
my-release-milvus-proxy-6bd7f5587-ds2xv 1/1 Running 0 3m24s
my-release-milvus-querynode-5cd8fff495-k6gtg 1/1 Running 0 3m24s
my-release-minio-0 1/1 Running 0 3m23s
my-release-minio-1 1/1 Running 0 3m23s
my-release-minio-2 1/1 Running 0 3m23s
my-release-minio-3 1/1 Running 0 3m23s
my-release-pulsar-autorecovery-86f5dbdf77-lchpc 1/1 Running 0 3m24s
my-release-pulsar-bookkeeper-0 1/1 Running 0 3m23s
my-release-pulsar-bookkeeper-1 1/1 Running 0 98s
my-release-pulsar-broker-556ff89d4c-2m29m 1/1 Running 0 3m23s
my-release-pulsar-proxy-6fbd75db75-nhg4v 1/1 Running 0 3m23s
my-release-pulsar-zookeeper-0 1/1 Running 0 3m23s
my-release-pulsar-zookeeper-metadata-98zbr 0/1 Completed 0 3m24s
Anda juga dapat mengakses Milvus WebUI di http://127.0.0.1:9091/webui/
untuk mempelajari lebih lanjut tentang instans Milvus Anda. Untuk detailnya, lihat Milvus WebUI.
3. Meneruskan port lokal ke Milvus
Jalankan perintah berikut untuk mendapatkan port di mana kluster Milvus Anda melayani.
$ kubectl get pod my-release-milvus-proxy-6bd7f5587-ds2xv --template
='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
19530
Keluarannya menunjukkan bahwa instans Milvus melayani pada port default 19530.
Jika Anda telah menggunakan Milvus dalam mode mandiri, ubah nama pod dari my-release-milvus-proxy-xxxxxxxxxx-xxxxx
menjadi my-release-milvus-xxxxxxxxxx-xxxxx
.
Kemudian, jalankan perintah berikut untuk meneruskan porta lokal ke porta tempat Milvus melayani.
$ kubectl port-forward service/my-release-milvus 27017:19530
Forwarding from 127.0.0.1:27017 -> 19530
Secara opsional, Anda dapat menggunakan :19530
dan bukan 27017:19530
pada perintah di atas untuk membiarkan kubectl
mengalokasikan porta lokal untuk Anda sehingga Anda tidak perlu mengelola konflik porta.
Secara default, penerusan porta kubectl hanya mendengarkan localhost
. Gunakan flag address
jika Anda ingin Milvus mendengarkan pada alamat IP yang dipilih atau semua alamat IP. Perintah berikut ini membuat port-forward mendengarkan semua alamat IP pada mesin host.
Mengakses Milvus WebUI
Milvus dilengkapi dengan alat GUI bawaan yang disebut Milvus WebUI yang dapat Anda akses melalui peramban. Milvus Web UI meningkatkan kemampuan pengamatan sistem dengan antarmuka yang sederhana dan intuitif. Anda dapat menggunakan Milvus Web UI untuk mengamati statistik dan metrik komponen dan ketergantungan Milvus, memeriksa detail basis data dan koleksi, dan membuat daftar konfigurasi Milvus yang terperinci. Untuk detail tentang Milvus Web UI, lihat Milvus WebUI
Untuk mengaktifkan akses ke Milvus Web UI, anda perlu melakukan port-forward proxy pod ke port lokal.
$ kubectl port-forward --address 0.0.0.0 service/my-release-milvus 27018:9091
Forwarding from 0.0.0.0:27018 -> 9091
Sekarang, Anda dapat mengakses Milvus Web UI di http://localhost:27018
.
Instalasi offline
Jika Anda berada di lingkungan yang dibatasi jaringan, ikuti prosedur di bagian ini untuk memulai cluster Milvus.
1. Dapatkan manifes Milvus
Jalankan perintah berikut untuk mendapatkan manifes Milvus.
$ helm template my-release milvus/milvus > milvus_manifest.yaml
Perintah di atas membuat templat bagan untuk klaster Milvus dan menyimpan hasilnya ke berkas manifes bernama milvus_manifest.yaml
. Dengan menggunakan manifes ini, Anda dapat menginstal klaster Milvus dengan komponen dan dependensinya dalam pod yang terpisah.
- Untuk menginstal instans Milvus dalam mode mandiri di mana semua komponen Milvus berada dalam satu pod, Anda harus menjalankan
helm template my-release --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false milvus/milvus > milvus_manifest.yaml
sebagai gantinya untuk merender templat bagan untuk instans Milvus dalam mode mandiri. - Untuk mengubah konfigurasi Milvus, unduh template
value.yaml
template, letakkan pengaturan yang Anda inginkan di dalamnya, dan gunakanhelm template -f values.yaml my-release milvus/milvus > milvus_manifest.yaml
untuk merender manifes yang sesuai.
2. Unduh skrip penarik gambar
Skrip penarik gambar dikembangkan dalam bahasa Python. Anda harus mengunduh skrip bersama dengan dependensinya di file requirement.txt
.
$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/requirements.txt
$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/save_image.py
3. Menarik dan menyimpan gambar
Jalankan perintah berikut untuk menarik dan menyimpan gambar yang diperlukan.
$ pip3 install -r requirements.txt
$ python3 save_image.py --manifest milvus_manifest.yaml
Gambar-gambar tersebut akan ditarik ke dalam sub-folder bernama images
di direktori saat ini.
4. Memuat gambar
Anda sekarang dapat memuat gambar ke host di lingkungan yang dibatasi jaringan sebagai berikut:
$ for image in $(find . -type f -name "*.tar.gz") ; do gunzip -c $image | docker load; done
5. Menyebarkan Milvus
$ kubectl apply -f milvus_manifest.yaml
Hingga saat ini, Anda dapat mengikuti langkah 2 dan 3 dari penginstalan online untuk memeriksa status klaster dan meneruskan porta lokal ke Milvus.
Memutakhirkan cluster Milvus yang sedang berjalan
Jalankan perintah berikut untuk meng-upgrade cluster Milvus yang sedang berjalan ke versi terbaru:
$ helm repo update
$ helm upgrade my-release zilliztech/milvus
Copot pemasangan Milvus
Jalankan perintah berikut untuk menghapus instalan Milvus.
$ helm uninstall my-release
Apa selanjutnya
Setelah menginstal Milvus di Docker, Anda dapat:
Memeriksa Hello Milvus untuk melihat apa yang dapat dilakukan Milvus.
Mempelajari operasi dasar Milvus:
Mengaturskala cluster Milvus Anda.
Menerapkan cluster Milvus Anda di awan:
Jelajahi Milvus WebUI, antarmuka web yang intuitif untuk pengamatan dan manajemen Milvus.
Jelajahi Milvus Backup, alat sumber terbuka untuk pencadangan data Milvus.
Jelajahi Birdwatcher, alat sumber terbuka untuk men-debug Milvus dan pembaruan konfigurasi dinamis.
Jelajahi Attu, alat GUI sumber terbuka untuk manajemen Milvus yang intuitif.