全部产品
Search
文档中心

Container Compute Service:Gunakan ACS untuk membuat aplikasi chat berbasis AI generatif

更新时间:Jul 06, 2025

Container Compute Service (ACS) menyediakan sumber daya komputasi kontainer yang sesuai dengan spesifikasi Kubernetes. ACS juga menawarkan sumber daya komputasi serverless, memungkinkan Anda menjalankan aplikasi berbasis kontainer secara efisien. Topik ini menjelaskan cara menerapkan dan mengekspos aplikasi chat berbasis AI generatif di konsol ACS serta menggunakan sertifikat klaster ACS. Topik ini juga mencakup cara memantau aplikasi tersebut.

Informasi latar belakang

  • Topik ini menggunakan proyek open source berikut: RWKV-Runner dan ChatGPT-Next-Web. RWKV-Runner adalah model dengan 0,1 miliar parameter yang mendukung inferensi online melalui API RESTful. ChatGPT-Next-Web adalah antarmuka web untuk aplikasi chat. Anda dapat menggunakan gambar untuk menerapkan RWKV-Runner dan ChatGPT-Next-Web di klaster ACS guna membangun aplikasi chat berbasis AI generatif dengan arsitektur pemisahan frontend dan backend. Setelah menyelesaikan langkah-langkah dalam topik ini, aplikasi chat berbasis AI generatif akan berhasil dibuat.

  • Untuk informasi lebih lanjut tentang istilah yang digunakan dalam Kubernetes, lihat Kursus Bersama CNCF dan Alibaba Cloud tentang Teknologi Cloud-Native.

Prosedur

Jika ini pertama kalinya Anda menggunakan ACS, aktifkan ACS dan berikan izin akses ke sumber daya cloud. Kemudian, buat klaster ACS dan terapkan aplikasi berbasis AI generatif di dalamnya.

Aktifkan dan berikan izin kepada ACS

Jika ini pertama kalinya Anda menggunakan ACS, aktifkan ACS dan berikan izin akses ke sumber daya cloud.

  1. Masuk ke konsol ACS dan klik Activate.

  2. Buka halaman aktivasi ACS dan ikuti petunjuk di layar untuk mengaktifkan ACS.

  3. Kembali ke konsol ACS dan segarkan halaman. Klik Authorize Now.

  4. Buka halaman otorisasi ACS dan ikuti petunjuk di layar untuk memberikan izin kepada ACS.

    Setelah menyelesaikan operasi sebelumnya, segarkan konsol ACS. Anda kemudian dapat mulai menggunakan ACS.

Langkah 2: Buat klaster ACS.

Langkah ini menjelaskan cara mengonfigurasi parameter saat membuat klaster ACS.

  1. Masuk ke konsol ACS. Di panel navigasi kiri, klik Clusters.

  2. Di pojok kiri atas halaman Clusters, klik Create Cluster.

  3. Di halaman Create Cluster, atur parameter yang dijelaskan dalam tabel berikut. Gunakan pengaturan default untuk parameter lainnya.

    Parameter

    Deskripsi

    Contoh

    Cluster Name

    Masukkan nama untuk klaster.

    ACS-Demo

    Region

    Pilih wilayah untuk menerapkan klaster.

    Cina (Beijing)

    VPC

    Jaringan klaster. Klaster ACS hanya mendukung VPC. Anda dapat memilih Create VPC atau Select Existing VPC.

    • Create VPC: Jika Anda memilih opsi ini, ACK secara otomatis membuat VPC dan gateway NAT di dalam VPC. ACK juga mengonfigurasi aturan SNAT pada gateway NAT.

    • Select Existing VPC: Jika Anda memilih opsi ini, Anda harus memilih VPC dari daftar drop-down VPC dan memilih vSwitch di bagian vSwitch. Jika Anda ingin mengunduh gambar kontainer melalui Internet, Anda harus mengonfigurasi gateway NAT. Kami merekomendasikan Anda mengunggah gambar kontainer ke Alibaba Cloud Container Registry di wilayah tempat klaster diterapkan dan menarik gambar menggunakan titik akhir VPC.

    Untuk informasi lebih lanjut, lihat Buat dan kelola VPC.

    Pilih Create VPC.

    API Server Access Settings

    Tentukan apakah akan mengekspos server API Kubernetes klaster ke Internet. Jika Anda ingin mengelola klaster melalui Internet, Anda harus mengekspos server API Kubernetes dengan alamat IP elastis (EIP).

    Pilih Expose API Server with EIP.

    Service Discovery

    Klik Show Advanced Options dan tentukan apakah akan mengaktifkan penemuan layanan. Untuk mengaktifkan penemuan layanan, pilih CoreDNS.

    Pilih CoreDNS.

  4. Klik Confirm Order, baca dan pilih Ketentuan Layanan, lalu klik Create Cluster.

    Catatan

    Pembuatan klaster memerlukan waktu sekitar 10 menit. Setelah klaster dibuat, Anda dapat melihatnya di halaman Clusters.

Langkah 3: Terapkan RWKV-Runner di klaster ACS

Langkah ini menjelaskan cara menerapkan RWKV-Runner di klaster ACS dengan membuat Deployment tujuan umum dan mengekspos RWKV-Runner di dalam klaster menggunakan API RESTful. Untuk informasi lebih lanjut tentang parameter Deployment, lihat Buat Aplikasi Tanpa Status Menggunakan Deployment.

  1. Masuk ke konsol ACS. Di halaman Clusters, klik nama klaster yang Anda buat, yaitu ACS-Demo dalam contoh ini.

  2. Di panel navigasi kiri, pilih Workloads > Deployments.

  3. Di halaman Deployments, klik Create from Image.

  4. Di halaman wizard Basic Information, atur Name menjadi rwkv-runner, pilih General-purpose untuk Instance type, pilih default untuk QoS Type, lalu klik Next.

  5. Di halaman wizard Container, konfigurasikan kontainer dan klik Next.

    Parameter

    Deskripsi

    Contoh

    Image Name

    Anda dapat memasukkan alamat gambar tanpa tag atau klik Select images untuk memilih gambar yang ingin Anda gunakan.

    registry.cn-beijing.aliyuncs.com/acs-demo-ns/rwkv-runner

    Select Image Tag

    Klik Select Image Version dan pilih versi gambar.

    1.0.0

    CPU

    Tentukan jumlah vCPU yang diperlukan oleh aplikasi.

    1 Core

    Memory

    Tentukan jumlah memori yang diperlukan oleh aplikasi.

    2 GiB

    Port Number

    Konfigurasikan port kontainer.

    • Name: runner.

    • Container Port: 8000.

    • Protocol: TCP.

  6. Di halaman wizard Advanced, klik Create di sebelah kanan Services.

  7. Di kotak dialog Create Service, konfigurasikan parameter berikut dan klik Create untuk mengekspos aplikasi rwkv-runner di dalam klaster menggunakan API RESTful.

    Parameter

    Deskripsi

    Contoh

    Application Name

    Masukkan nama untuk Layanan.

    rwkv-runner-svc

    Status

    Jenis Layanan. Parameter ini menentukan bagaimana Layanan diakses.

    Cluster IP

    Port Mapping

    Tentukan Service port dan container port. container port harus sama dengan port yang diekspos di pod backend.

    • Name: runner.

    • Service Port: 80.

    • Container Port: 8000.

    • Protocol: TCP.

  8. Di pojok kanan bawah halaman wizard Advanced, klik Create.

    Setelah membuat aplikasi, Anda akan diarahkan ke halaman wizard Complete, yang menampilkan objek aplikasi. Klik View Details untuk melihat detail aplikasi.

Langkah 4: Terapkan ChatGPT-Next-Web menggunakan sertifikat klaster

Langkah ini menjelaskan cara menggunakan sertifikat klaster untuk menerapkan ChatGPT-Next-Web di klaster dengan membuat Deployment tujuan umum dan mengekspos RWKV-Runner ke Internet. Untuk informasi lebih lanjut tentang parameter Deployment, lihat Buat Aplikasi Tanpa Status Menggunakan Deployment.

  1. Masuk ke konsol ACS. Di halaman Clusters, klik nama klaster yang Anda buat, yaitu ACS-Demo dalam contoh ini.

  2. Di halaman Cluster Information, klik tab Connection Information. Dapatkan sertifikat klaster untuk akses Internet dan ikuti petunjuk di layar untuk menyimpan sertifikat ke mesin lokal Anda.

  3. Buat file bernama chat-next-web.yaml dan salin konten berikut ke file tersebut.

    Tampilkan Konten File chat-next-web.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: chat-frontend-svc
    spec:
      ports:
        - name: chat
          port: 80
          protocol: TCP
          targetPort: 3000
      selector:
        app: chat-frontend
      type: LoadBalancer
    
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: chat-frontend
      name: chat-frontend
    spec:
      progressDeadlineSeconds: 600
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: chat-frontend
      strategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
        type: RollingUpdate
      template:
        metadata:
          labels:
            alibabacloud.com/compute-class: general-purpose  # Tipe tujuan umum.
            #Jika Anda ingin menggunakan tipe dengan performa ditingkatkan, tentukan alibabacloud.com/compute-class: performance.
            app: chat-frontend
        spec:
          containers:
            - env:
                - name: BASE_URL
                  value: 'http://rwkv-runner-svc'
              image: registry.cn-beijing.aliyuncs.com/acs-demo-ns/chatgpt-next-web:amd64
              imagePullPolicy: IfNotPresent
              name: chat-frontend
              ports:
                - containerPort: 3000
                  protocol: TCP
              resources:
                requests:
                  cpu: "1"
                  memory: 2Gi
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
  4. Jalankan perintah berikut untuk membuat sumber daya di klaster:

    kubectl apply -f chat-next-web.yaml

Langkah 5: Gunakan sertifikat klaster untuk membuat Job inisialisasi untuk aplikasi

Langkah ini menjelaskan cara menggunakan sertifikat klaster untuk membuat Job inisialisasi untuk model RWKV-Runner. Kelas QoS pod yang dibuat oleh Job adalah BestEffort. Untuk informasi lebih lanjut tentang parameter Job, lihat Buat Job.

  1. Buat file bernama rwkv-init-job.yaml dan salin konten berikut ke file tersebut.

    Tampilkan Konten File rwkv-init-job.yaml

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: job-demo
    spec:
      activeDeadlineSeconds: 600
      backoffLimit: 6
      completionMode: NonIndexed
      completions: 1
      parallelism: 1
      suspend: false
      template:
        metadata:
          labels:
            alibabacloud.com/compute-qos: best-effort # Kelas QoS BestEffort.
            #Jika Anda ingin menggunakan kelas QoS default, tentukan alibabacloud.com/compute-qos: default.
            app: job-demo
        spec:
          containers:
          - name: job
            image: registry.cn-beijing.aliyuncs.com/acs-demo-ns/rwkv-init-job:1.0.0
            imagePullPolicy: Always
            resources:
              requests:
                cpu: 500m
                memory: 1Gi
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Never
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
    
  2. Jalankan perintah berikut untuk menerapkan Job inisialisasi:

    kubectl apply -f rwkv-init-job.yaml
  3. Jalankan perintah berikut untuk memeriksa apakah Job inisialisasi telah selesai:

    kubectl get pod

    Output yang Diharapkan:

Langkah 6: Uji aplikasi

Langkah ini menjelaskan cara mengakses aplikasi menggunakan Layanan.

  1. Masuk ke konsol ACS. Di halaman Clusters, klik nama klaster yang Anda buat, yaitu ACS-Demo dalam contoh ini.

  2. Di panel navigasi kiri, pilih Network > Services.

  3. Di halaman Services, temukan Layanan yang Anda buat, yaitu chat-frontend-svc dalam contoh ini. Klik alamat IP di kolom External IP untuk mengakses aplikasi.

Lepaskan sumber daya

Saat menggunakan klaster ACS, Anda akan dikenakan biaya berikut:

  • Biaya untuk daya komputasi yang digunakan oleh beban kerja di dalam klaster. Biaya ini ditagih oleh ACS.

  • Biaya untuk sumber daya cloud lainnya yang digunakan oleh klaster. Biaya tersebut ditagih oleh layanan Alibaba Cloud sesuai aturan penagihan mereka.

Catat hal-hal berikut setelah membuat klaster ACS:

  • Jika Anda tidak lagi membutuhkan klaster, hapus klaster dan sumber daya terkaitnya. Untuk informasi lebih lanjut, lihat Hapus Klaster ACS.

  • Jika ingin tetap menggunakan klaster, tambahkan saldo akun Anda saat saldo kurang dari CNY 100. Untuk informasi lebih lanjut tentang aturan penagihan layanan Alibaba Cloud yang digunakan oleh ACS, lihat Penagihan.