Menyebarkan model pembelajaran mesin di Kubernetes memerlukan penyiapan infrastruktur serving model yang terintegrasi dengan stack penyimpanan, jaringan, dan observabilitas kluster Anda. ack-kserve adalah distribusi KServe open-source yang dioptimalkan oleh Alibaba Cloud dan menangani integrasi ini secara otomatis—terhubung dengan kemampuan penyimpanan, logging, dan jaringan Alibaba Cloud sehingga Anda dapat fokus pada serving model alih-alih mengonfigurasi infrastruktur.
Topik ini menjelaskan cara menginstal, mengelola, dan menguninstal ack-kserve di kluster ACK.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster Pro managed ACK yang menjalankan Kubernetes 1.22 atau versi lebih baru. Lihat Buat kluster ACK managed.
Kontroler NGINX Ingress telah diinstal. Lihat Kelola kontroler NGINX Ingress.
Langkah 1: Instal cert-manager
ack-kserve bergantung pada cert-manager untuk manajemen sertifikat TLS. Instal cert-manager sebelum menginstal ack-kserve.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, pilih Applications > Helm.
Di pojok kiri atas halaman Helm, klik Deploy. Pada langkah Basic Information, isi bidang Application Name, pilih
cert-managerdi bagian Chart, lalu klik Next.Pada langkah Parameters, tinjau nilai Chart Version dan Parameters, lalu klik OK.
Setelah deployment, komponen cert-manager akan muncul di halaman Helm.
Langkah 2: Instal ack-kserve
Secara default, ack-kserve diterapkan dalam mode RawDeployment dan diintegrasikan dengan kontroler NGINX Ingress.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, pilih Applications > Helm.
Di pojok kiri atas halaman Helm, klik Deploy. Pada langkah Basic Information, isi bidang Application Name, pilih
ack-kservedi bagian Chart, lalu klik Next.Pada langkah Parameters, tinjau nilai Chart Version dan Parameters, lalu klik OK. Setelah deployment, komponen ack-kserve akan muncul di halaman Helm.
Verifikasi bahwa ack-kserve sedang berjalan:
kubectl get pod -n kserveJika parameter
STATUSpada output menampilkanrunning, komponen ack-kserve telah berhasil diinstal.
(Opsional) Langkah 3: Tampilkan atau perbarui ack-kserve
Tampilkan detail komponen
Di halaman Helm, temukan komponen ack-kserve dan klik View Details di kolom Actions. Halaman detail menampilkan tab Basic Information, Parameters, dan History.
Perbarui komponen
Di halaman Helm, temukan komponen ack-kserve dan klik Update di kolom Actions. Di panel Update Release, ubah versi chart atau modifikasi pengaturan parameter.
(Opsional) Langkah 4: Uninstal komponen ack-kserve
Uninstal komponen dalam urutan berikut untuk menghindari sumber daya yang tertinggal:
Hapus resource kustom KServe
Hapus CustomResourceDefinitions (CRD) KServe
Uninstal ack-kserve
Hapus instalasi cert-manager
Hapus CRD cert-manager
Hapus resource kustom dan CRD KServe
Resource kustom tidak dapat dipulihkan setelah dihapus. Sebelum melanjutkan, pastikan resource InferenceService Anda tidak lagi diperlukan oleh beban kerja Anda.
Cadangkan dan hapus semua resource kustom InferenceService:
# Tampilkan semua resource InferenceService di kluster kubectl get isvc --all-namespaces # Cadangkan semua resource ke file kubectl get isvc --all-namespaces -oyaml > isvc.yaml.bak # Hapus semua resource kubectl delete isvc --allHapus CRD KServe.
CatatanSebelum menghapus CRD, Anda harus menghapus semua resource kustom terkait terlebih dahulu. Jika tidak, penghapusan CRD akan gagal.
kubectl delete crd clusterservingruntimes.serving.kserve.io kubectl delete crd clusterstoragecontainers.serving.kserve.io kubectl delete crd inferencegraphs.serving.kserve.io kubectl delete crd inferenceservices.serving.kserve.io kubectl delete crd predictors.serving.kserve.io kubectl delete crd servingruntimes.serving.kserve.io kubectl delete crd trainedmodels.serving.kserve.io
Uninstal ack-kserve
Masuk ke ACK console. Di panel navigasi sebelah kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, pilih Applications > Helm.
Di halaman Helm, temukan ack-kserve dan klik Delete di kolom Actions. Di kotak dialog, klik OK.
Uninstal cert-manager
Sebelum menguninstal cert-manager, pastikan cert-manager tidak digunakan oleh komponen lain di kluster. Hal ini mencegah gangguan layanan akibat penghapusan cert-manager.
Masuk ke ACK console. Pada panel navigasi sebelah kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, pilih Applications > Helm.
Di halaman Helm, temukan cert-manager dan klik Delete di kolom Actions. Di kotak dialog, klik OK.
Hapus CRD cert-manager:
kubectl delete crd certificaterequests.cert-manager.io kubectl delete crd certificates.cert-manager.io kubectl delete crd challenges.acme.cert-manager.io kubectl delete crd clusterissuers.cert-manager.io kubectl delete crd issuers.cert-manager.io kubectl delete crd orders.acme.cert-manager.io
Pemecahan Masalah
Error saat instalasi ack-kserve: Verifikasi sertifikat TLS gagal
failed to call webhook: Post "https://cert-manager-webhook.cert-manager.svc:443/validate?timeout=30s": tls: failed to verify certificate: x509: certificate signed by unknown authorityack-kserve memerlukan cert-manager agar sepenuhnya siap sebelum instalasi. Error ini terjadi ketika cert-manager belum diinstal atau Pod-nya belum berjalan.
Periksa apakah cert-manager telah diinstal:
kubectl get crd | grep certificates.cert-manager.ioJika cert-manager telah diinstal, output-nya mirip dengan:
certificates.cert-manager.io 2024-05-06T07:09:17ZJika tidak ada output, instal cert-manager terlebih dahulu. Lihat Langkah 1: Instal cert-manager.
Periksa apakah Pod cert-manager sudah siap:
kubectl -n cert-manager get poSemua Pod harus menampilkan
1/1di kolomREADY. Output yang diharapkan mirip dengan:NAME READY STATUS RESTARTS AGE cert-manager-7f4bb44d5b-jrrfn 1/1 Running 0 23h cert-manager-cainjector-79544456cc-qp5pp 1/1 Running 0 23h cert-manager-webhook-f74ccb647-7m5dt 1/1 Running 0 23hJika semua Pod sudah siap, uninstal ack-kserve lalu instal ulang. Lihat Uninstal ack-kserve.