KServe adalah proyek sumber terbuka yang menyediakan API deklaratif untuk menyederhanakan proses penyebaran dan pengelolaan model pembelajaran mesin pada Kubernetes. Alibaba Cloud menyediakan komponen ack-kserve yang dioptimalkan berdasarkan KServe sumber terbuka dan terintegrasi dengan ekosistem Alibaba Cloud, termasuk kemampuan penyimpanan, logging, dan jaringan yang disediakan oleh Alibaba Cloud. ack-kserve menyederhanakan penyebaran dan O&M KServe dalam kluster Container Service for Kubernetes (ACK). Topik ini menjelaskan cara menyebar dan mengelola ack-kserve dalam kluster ACK.
Prasyarat
Sebuah kluster ACK managed Pro yang menjalankan Kubernetes 1.22 atau lebih baru telah dibuat. Untuk informasi lebih lanjut, lihat Buat kluster ACK managed.
Kontroler NGINX Ingress telah diinstal. Untuk informasi lebih lanjut, lihat Kelola kontroler NGINX Ingress.
Langkah 1: Instal komponen cert-manager
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, pilih .
Di pojok kiri atas halaman Helm, klik Deploy. Pada langkah Basic Information di panel Deploy, tentukan parameter Application Name, pilih
cert-managerdi bagian Chart, lalu klik Next.Pada langkah Parameters, periksa nilai parameter Chart Version dan informasi yang ditampilkan di bidang Parameters, lalu klik OK.
Setelah komponen cert-manager diterapkan, Anda dapat melihat informasi tentang komponen cert-manager pada halaman Helm.
Langkah 2: Instal komponen ack-kserve
Secara default, komponen ack-kserve diterapkan dalam mode RawDeployment dan terintegrasi dengan kontroler Nginx Ingress.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, pilih .
Di pojok kiri atas halaman Helm, klik Deploy. Pada langkah Basic Information di panel Deploy, tentukan parameter Application Name, pilih
ack-kservedi bagian Chart, lalu klik Next.Pada langkah Parameters, periksa nilai parameter Chart Version dan informasi yang ditampilkan di bidang Parameters, lalu klik OK.
Setelah komponen cert-manager diterapkan, Anda dapat melihat informasi tentang komponen ack-kserve pada halaman Helm.
Periksa apakah komponen ack-kserve sedang berjalan.
Jalankan perintah berikut untuk memeriksa status pod ack-kserve:
kubectl get pod -n kserveJika
runningdikembalikan untuk parameterSTATUSdi output, komponen ack-kserve telah diinstal.
(Opsional) Langkah 3: Lihat atau perbarui komponen ack-kserve
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, pilih .
Lihat detail komponen ack-kserve.
Pada halaman Helm, temukan komponen ack-kserve dan klik View Details di kolom Actions. Pada halaman detail komponen ack-kserve, Anda dapat melihat informasi pada tab Informasi Dasar, Parameter, dan Riwayat.
Perbarui komponen ack-kserve.
Pada halaman Helm, temukan komponen ack-kserve dan klik Update di kolom Actions. Di panel Update Release, ubah versi komponen dan modifikasi pengaturan parameter.
(Opsional) Langkah 4: Hapus sumber daya dan uninstall komponen
Hapus custom resources KServe dan CustomResourceDefinitions (CRDs) terkait sebelum Anda menguninstall komponen ack-kserve. Ini mencegah pemborosan sumber daya.
PentingSebelum Anda menghapus custom resources dan CRDs, pastikan bahwa mereka tidak lagi diperlukan oleh bisnis Anda. Jika Anda menghapus CRD, custom resources terkait juga akan dihapus. Custom resources tidak dapat dipulihkan setelah dihapus.
Sebelum Anda menghapus semua custom resources KServe, pastikan bahwa mereka tidak lagi diperlukan. Anda dapat menjalankan perintah berikut untuk menghapus custom resources:
# Lihat semua custom resources di kluster. kubectl get isvc --all-namespaces # Simpan semua custom resources di kluster. kubectl get isvc --all-namespaces -oyaml > isvc.yaml.bak # Hapus custom resources setelah Anda yakin tidak lagi membutuhkannya. kubectl delete isvc --allHapus CRDs KServe di kluster.
Sebelum Anda menghapus CRD, Anda harus menghapus semua custom resources terkait. Jika tidak, Anda gagal menghapus CRD.
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
Uninstall komponen ack-kserve.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, pilih .
Pada halaman Helm, temukan komponen ack-kserve dan klik Delete di kolom Actions. Di kotak dialog Hapus, klik OK.
Uninstall komponen cert-manager.
PeringatanSebelum Anda menguninstall cert-manager, pastikan bahwa cert-manager tidak digunakan oleh komponen lain di kluster. Ini mencegah gangguan layanan yang disebabkan oleh penghapusan cert-manager.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, pilih .
Pada halaman Helm, temukan komponen cert-manager dan klik Delete di kolom Actions. Di kotak dialog Hapus, klik OK.
Jalankan perintah berikut untuk menghapus CRDs terkait yang digunakan oleh 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
FAQ
Masalah: Pesan kesalahan berikut muncul saat komponen ack-kserve sedang diinstal: 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 authority.
Penyebab: Komponen ack-kserve sangat bergantung pada komponen cert-manager. Jika tidak diinstal atau belum siap di kluster Anda, kesalahan tersebut terjadi saat Anda menginstal komponen ack-kserve.
Solusi:
Jalankan perintah berikut untuk memeriksa apakah komponen cert-manager telah diinstal di kluster Anda:
kubectl get crd |grep certificates.cert-manager.ioJika output berikut dikembalikan, komponen cert-manager telah diinstal di kluster.
certificates.cert-manager.io 2024-05-06T07:09:17ZJika tidak ada CRD dari komponen cert-manager tersedia di kluster Anda, instal komponen cert-manager. Untuk informasi lebih lanjut, lihat bagian Langkah 1: Instal komponen cert-manager dari topik ini.
Jalankan perintah berikut untuk memeriksa apakah komponen cert-manager sudah siap:
kubectl -n cert-manager get poJika output berikut dikembalikan, pods dari komponen cert-manager sudah siap.
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 pods dalam keadaan Ready, Anda dapat menguninstall komponen ack-kserve dan kemudian menginstal ulang. Untuk informasi lebih lanjut, lihat bagian "Uninstall komponen ack-kserve" dari topik ini.