Container Compute Service (ACS) Alibaba Cloud menyediakan sumber daya komputasi elastis dan tanpa server melalui antarmuka Kubernetes native untuk menjalankan aplikasi berbasis kontainer. Tutorial ini memandu Anda menyebar aplikasi chat AI generatif di kluster ACS menggunakan Konsol ACS dan sertifikat kluster, serta memantau statusnya.
Latar Belakang
-
Tutorial ini menggunakan dua proyek open-source: RWKV-Runner (model dengan 0,1 miliar parameter yang memiliki RESTful API untuk inferensi) dan ChatGPT-Next-Web (UI web chat). Keduanya membentuk aplikasi chat AI terpisah antara frontend dan backend yang diterapkan ke kluster ACS sebagai gambar kontainer.
-
Pelajari dasar-dasar Kubernetes dalam Kursus Terbuka Teknologi Cloud-Native CNCF × Alibaba Cloud.
Prosedur
Untuk menggunakan ACS pertama kali, aktifkan layanan, berikan izin, buat kluster, lalu sebarkan aplikasi.
Langkah 1: Aktifkan dan otorisasi ACS
Sebelum menggunakan ACS untuk pertama kalinya, Anda harus mengaktifkan layanan dan memberikan izin yang diperlukan agar dapat mengakses sumber daya cloud lainnya.
-
Login ke ACS console dan klik Activate.
-
Pada halaman aktivasi ACS, ikuti petunjuk di layar untuk mengaktifkan layanan.
-
Kembali ke Konsol ACS, refresh halaman, lalu klik Go to Authorize.
-
Pada halaman otorisasi ACS, ikuti petunjuk di layar untuk memberikan izin yang diperlukan.
Setelah memberikan izin, refresh konsol untuk mulai menggunakan ACS.
Langkah 2: Buat kluster ACS
Bagian ini menunjukkan cara membuat kluster ACS dengan hanya mengonfigurasi parameter utamanya.
-
Login ke ACS console. Di panel navigasi kiri, klik Clusters.
-
Pada halaman Clusters, klik Create Kubernetes Cluster di pojok kiri atas.
-
Pada halaman Create Kubernetes Cluster, konfigurasikan parameter berikut. Anda dapat menggunakan nilai default untuk parameter yang tidak tercantum di sini.
Parameter
Deskripsi
Contoh
Cluster Name
Masukkan nama untuk kluster.
ACS-DemoRegion
Pilih wilayah tempat Anda ingin membuat kluster.
China (Beijing)
Select VPC
Tentukan jaringan untuk kluster. Kluster ACS hanya mendukung VPC. Anda dapat memilih Create VPC atau Select Existing VPC .
-
Create VPC: Sistem secara otomatis membuat VPC, gerbang NAT, dan mengonfigurasi aturan SNAT.
-
Select Existing VPC : Pilih VPC dan vSwitch yang sudah ada. Jika Anda perlu mengakses internet, misalnya untuk menarik gambar kontainer, Anda harus mengonfigurasi gerbang NAT. Kami menyarankan Anda mengunggah gambar kontainer ke ACR di wilayah yang sama dengan kluster Anda dan menarik gambar tersebut melalui jaringan VPC internal.
Untuk informasi lebih lanjut, lihat Buat dan kelola VPC.
Pilih Create VPC.
API Server Access Settings
Tentukan apakah akan mengekspos API server kluster ke internet publik. Jika Anda perlu mengelola kluster dari internet secara jarak jauh, Anda harus mengonfigurasi Elastic IP (EIP).
Pilih Expose API server with EIP.
Service Discovery
Klik Show Advanced Options dan tentukan apakah akan mengaktifkan penemuan layanan untuk kluster. Jika Anda memerlukan penemuan layanan, Anda dapat memilih CoreDNS.
Pilih CoreDNS.
-
-
Klik Confirm, tinjau dan terima syarat layanan, lalu klik Create Kubernetes Cluster.
CatatanPembuatan kluster membutuhkan waktu sekitar 10 menit. Setelah kluster dibuat, kluster tersebut akan muncul di halaman Clusters.
Langkah 3: Sebarkan RWKV-Runner melalui konsol
Sebarkan aplikasi stateless RWKV-Runner (Deployment) pada instans tujuan umum di kluster ACS Anda dan ekspos RESTful API-nya di dalam kluster. Buat Deployment workload stateless.
-
Login ke ACS console. Pada halaman Cluster, klik nama kluster target Anda (ACS-Demo).
-
Di panel navigasi kiri, pilih .
-
Pada halaman Deployments, klik Create from Image.
-
Pada langkah Basic Information, atur Application Name menjadi rwkv-runner, pilih General-purpose untuk Instance Type dan default untuk QoS Type, lalu klik Next.
-
Pada langkah Container, konfigurasikan kontainer lalu klik Next.
Parameter
Deskripsi
Nilai contoh
Image Name
Alamat gambar tanpa tag, atau klik Select Image untuk memilih gambar.
registry.cn-beijing.aliyuncs.com/acs-demo-ns/rwkv-runner
Image Version
Klik Select Image Version untuk memilih versi gambar.
1.0.0
CPU
Jumlah core CPU untuk aplikasi.
1 Core
Memory
Jumlah memori untuk aplikasi.
2 GiB
Port
Port kontainer.
-
Name: runner
-
Container Port: 8000
-
Protocol: TCP
-
-
Pada langkah Advanced, klik Create di sebelah kanan Services.
-
Pada kotak dialog Create Service, konfigurasikan parameter berikut lalu klik Create. Ini akan mengekspos RESTful API rwkv-runner di dalam kluster.
Parameter
Deskripsi
Nilai contoh
Name
Nama layanan.
rwkv-runner-svc
Type
Jenis layanan. Menentukan cara akses layanan.
ClusterIP
Port Mapping
Atur Service Port dan Container Port. Container Port harus sesuai dengan port yang diekspos oleh pod backend.
-
Name: runner
-
Service Port: 80
-
Container Port: 8000
-
Protocol: TCP
-
-
Pada langkah Advanced, klik Create di pojok kanan bawah.
Setelah pembuatan selesai, langkah Complete menampilkan objek aplikasi. Klik View Details untuk meninjau aplikasi.
Langkah 4: Sebarkan ChatGPT-Next-Web dengan sertifikat
Gunakan sertifikat kluster Anda (kubeconfig) untuk menyebarkan aplikasi stateless ChatGPT-Next-Web (Deployment) dan mengeksposnya ke internet. Buat Deployment workload stateless.
-
Login ke ACS console. Pada halaman Cluster, klik nama kluster target Anda (ACS-Demo).
-
Pada halaman Cluster Information, klik tab Connection Information. Dapatkan sertifikat akses publik dan ikuti petunjuk di layar untuk menyimpannya ke lokasi yang benar.
-
Buat file bernama chat-next-web.yaml dan tambahkan konten berikut.
-
Jalankan perintah berikut untuk menerapkan resource ke kluster ACS Anda.
kubectl apply -f chat-next-web.yaml
Langkah 5: Buat pekerjaan inisialisasi
Gunakan sertifikat kluster Anda untuk membuat pekerjaan Kubernetes yang menginisialisasi model RWKV-Runner. Pekerjaan ini berjalan pada instans dengan kelas QoS BestEffort. Buat workload job.
-
Buat file bernama rwkv-init-job.yaml dan tambahkan konten berikut.
-
Jalankan perintah berikut untuk mengirimkan pekerjaan inisialisasi.
kubectl apply -f rwkv-init-job.yaml -
Pastikan pekerjaan inisialisasi telah selesai.
kubectl get podStatus pod pekerjaan
STATUSmenunjukkanCompleted.
Langkah 6: Uji aplikasi
Akses aplikasi yang telah diterapkan melalui layanannya.
-
Login ke ACS console. Pada halaman Cluster, klik nama kluster target Anda (ACS-Demo).
-
Di panel navigasi kiri, pilih Network > Services.
-
Pada halaman Services, temukan layanan yang baru dibuat (chat-frontend-svc) lalu klik alamat IP di kolom External IP untuk mengakses aplikasi chat AI generatif Anda.
Bersihkan resource
Biaya kluster ACS terdiri dari dua komponen:
-
Daya komputasi yang digunakan oleh workload, ditagih oleh ACS.
-
Resource Alibaba Cloud lainnya, ditagih oleh layanan masing-masing.
Setelah menyelesaikan tutorial ini:
-
Jika Anda tidak lagi memerlukan kluster, hapus kluster tersebut beserta resource terkaitnya. Hapus kluster.
-
Untuk terus menggunakan kluster, pastikan saldo akun Anda minimal CNY 100,00. Penagihan sumber daya cloud.