全部产品
Search
文档中心

Container Service for Kubernetes:Menggunakan instance kontainer elastis untuk menjalankan Job

更新时间:Nov 11, 2025

Instans kontainer elastis mulai dalam hitungan detik dan melakukan penskalaan sesuai kebutuhan. Untuk Pekerjaan berdurasi pendek, penggunaan instans kontainer elastis mencegah pemborosan sumber daya, mengurangi biaya sekaligus memenuhi kebutuhan bisnis, serta meningkatkan elastisitas kluster dan pemanfaatan sumber daya.

Skenario

Pod tidak dapat berjalan secara normal ketika node kluster kekurangan sumber daya komputasi. Namun, menyediakan banyak node dapat menyebabkan pemborosan sumber daya. Jika beban kerja Anda memiliki jam-jam puncak dan jam-jam sepi yang jelas, kami merekomendasikan penggunaan instans kontainer elastis sebagai kolam sumber daya elastis. Instans ini mulai dalam hitungan detik dan melakukan penskalaan sesuai kebutuhan, sehingga secara signifikan meningkatkan elastisitas kluster. Saat menggunakan instans kontainer elastis untuk menangani lonjakan lalu lintas dan menjalankan Pekerjaan, Anda tidak perlu memperkirakan lalu lintas layanan atau menyediakan sumber daya menganggur terlebih dahulu. Hal ini membantu Anda memenuhi kebutuhan bisnis sekaligus secara efektif mengurangi biaya penggunaan dan pemeliharaan.

Kuberntes集群

Prasyarat

Komponen ack-virtual-node telah diinstal di kluster. Untuk informasi selengkapnya, lihat Men-deploy komponen ack-virtual-node.

Contoh

  1. Buat namespace untuk pengujian dan tambahkan label alibabacloud.com/eci=true ke namespace tersebut.

    Catatan

    Setelah Anda menambahkan label ini ke namespace, semua Pod di namespace tersebut akan dijadwalkan ke node virtual dan dijalankan sebagai instans kontainer elastis. Contoh ini menggunakan metode ini. Untuk informasi selengkapnya tentang cara menjadwalkan Pod ke instans kontainer elastis, lihat Jadwalkan Pod ke node virtual.

    kubectl create ns vk
    kubectl label namespace vk alibabacloud.com/eci=true
  2. Buat Pekerjaan di namespace pengujian.

    1. Modifikasi File YAML berikut dan simpan sebagai job.yaml.

      apiVersion: batch/v1
      kind: Job
      metadata:
        name: pi
        namespace: vk     # Tentukan namespace dengan label tertentu untuk menjadwalkan pod ke instans kontainer elastis
      spec:
        template:
          spec:
            containers:
            - name: pi
              image: registry.cn-shanghai.aliyuncs.com/eci_open/perl:5.32  
              command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
              resources:
                requests:
                  cpu: 16
                  memory: 32Gi
            restartPolicy: Never
        backoffLimit: 4
    2. Buat Pekerjaan.

      kubectl -n vk apply -f job.yaml
  3. Periksa status berjalan Pod yang sesuai dengan Pekerjaan tersebut.

    kubectl -n vk get pod -o wide

    Keluaran yang diharapkan: Pekerjaan telah selesai (status Completed) dan berjalan pada node virtual (nama node memiliki awalan virtual-kubelet).

    NAME       READY   STATUS      RESTARTS   AGE   IP              NODE                            NOMINATED NODE   READINESS GATES
    pi-zw2lc   0/1     Completed   0          15m   192.168.XX.XX   virtual-kubelet-cn-shanghai-b   <none>           <none>
  4. Lihat detail Pod yang sesuai dengan Pekerjaan tersebut.

    kubectl -n vk describe pod <pod-name>

    Dalam Events yang dikembalikan, event StopCharge menunjukkan bahwa Pod instans kontainer elastis telah selesai berjalan dan penagihan telah dihentikan.

    Catatan

    Pod instans kontainer elastis ditagih berdasarkan jumlah sumber daya yang digunakan. Sistem menghentikan penagihan saat Pod selesai. Untuk informasi selengkapnya, lihat Penagihan instans kontainer elastis dan Siklus hidup Pod instans kontainer elastis.

    Events:
      Type     Reason            Age   From        Message
      ----     ------            ----  ----        -------
      Warning  ImageCacheMissed  16m   EciService  [eci.imagecache]Cache gambar tidak ditemukan.
      Normal   Pulling           16m   kubelet     Menarik citra "registry.cn--shanghai.aliyuncs.com/eci_open/perl:5.32"
      Normal   Pulled            15m   kubelet     Berhasil menarik citra "registry.cn-shanghai.aliyuncs.com/eci_open/perl:5.32" dalam 12,951 detik (12,951 detik termasuk waktu tunggu). Ukuran citra: 336066994 byte.
      Normal   Created           15m   kubelet     Membuat kontainer: pi
      Normal   Started           15m   kubelet     Memulai kontainer pi
      Normal   StopCharge        15m   EciService  [eci.containergroup]Penagihan instans ECI saat ini telah dihentikan, tetapi sumber daya terkait masih dalam proses pembersihan.

    Oleh karena itu, menjalankan Pekerjaan pada instans kontainer elastis dapat mengurangi biaya komputasi dan beban operasional. Anda tidak perlu khawatir apakah kluster memiliki sumber daya komputasi yang cukup atau apakah perlu menyesuaikan jumlah node.

Referensi

Anda juga dapat menggunakan instans kontainer elastis preemptible untuk mengurangi biaya instans. Untuk informasi selengkapnya, lihat Gunakan instans kontainer elastis preemptible untuk menjalankan Pekerjaan.