All Products
Search
Document Center

Container Service for Kubernetes:Gunakan Snapshot disk data untuk mempercepat startup aplikasi model besar

Last Updated:Nov 11, 2025

Kelompok node ACK memungkinkan Anda mengonfigurasi disk data untuk node baru dan menginisialisasi disk tersebut dari Snapshot disk data yang sudah ada. Snapshot tersebut dapat berisi semua data cache yang diperlukan, seperti gambar kontainer yang telah diunduh sebelumnya, model pembelajaran mesin skala besar yang telah dilatih sebelumnya, citra sistem yang dibutuhkan, serta sumber daya statis kritis lainnya. Saat node baru bergabung ke kelompok node, data cache tersebut secara otomatis dipulihkan dari Snapshot, sehingga secara signifikan mengurangi waktu pemuatan data pada eksekusi pertama. Topik ini menjelaskan dua skenario yang menunjukkan cara menggunakan Snapshot disk data untuk mempercepat penerapan beban kerja dan inisialisasi node.

Skenario 1: Mempercepat startup aplikasi

Skenario ini menggunakan beban kerja aplikasi model besar Qwen-7B sebagai contoh. Skenario ini menunjukkan cara menggunakan Instance ECS untuk memuat terlebih dahulu gambar kontainer ac2/qwen ke disk data, menyimpannya dalam cache, lalu membuat Snapshot. Anda kemudian dapat menggunakan Snapshot ini sebagai disk data untuk node baru dalam kelompok node. Saat Anda menjadwalkan beban kerja ke node-node baru tersebut, aplikasi akan dimulai lebih cepat.

Mempercepat startup aplikasi menggunakan Snapshot disk data

Langkah 1: Buat Instance ECS dengan disk data

  1. Buat Instance ECS yang menyertakan disk data untuk membuat Snapshot disk data. Untuk informasi selengkapnya, lihat Buat instance menggunakan wizard.

    Tentukan ukuran disk data yang mencukupi untuk memastikan tersedianya ruang yang cukup.
  2. Setelah instance dibuat, masuk ke Instance ECS dan jalankan perintah berikut untuk melihat informasi disk.

    fdisk -l

    Output yang diharapkan:

    Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: F51132A7-67B1-4650-806D-FD0DExxxxxxx
    
    Device      Start      End  Sectors  Size Type
    /dev/vda1    2048     6143     4096    2M BIOS boot
    /dev/vda2    6144   415743   409600  200M EFI System
    /dev/vda3  415744 83886046 83470303 39.8G Linux filesystem
    
    
    Disk /dev/vdb: 40 GiB, 42949672960 bytes, 83886080 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Output menunjukkan bahwa perangkat blok /dev/vdb telah disambungkan ke Instance ECS tetapi belum dipasang ke direktori host mana pun.

  3. Jalankan perintah berikut untuk menginisialisasi sistem file disk data dan memasang disk data ke direktori host. Topik ini menggunakan direktori /mnt/example sebagai contoh.

    mkdir -p /mnt/example
    mkfs.ext4 /dev/vdb
    mount /dev/vdb /mnt/example

Langkah 2: Instal runtime

  1. Periksa versi runtime yang diperlukan. Versi tersebut harus sama dengan versi runtime pada node kluster yang akan menggunakan Snapshot.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, temukan kluster yang ingin dikelola lalu klik namanya. Di panel navigasi kiri, pilih Nodes > Node Pools.

    3. Klik kelompok node target. Pada tab Basic Information, lihat Container Runtime. Topik ini menggunakan containerd 1.6.36 sebagai contoh.

  2. Pada Instance ECS, jalankan perintah berikut untuk mengikat dan memasang subdirektori.

    mkdir -p /var/lib/containerd
    mkdir -p /mnt/example/containerd/
    mount --bind /mnt/example/containerd/ /var/lib/containerd
  3. Instal runtime containerd 1.6.36. Untuk informasi selengkapnya, lihat Getting started with containerd.

Langkah 3: Unduh gambar kontainer dan buat Snapshot

  1. Pada Instance ECS, jalankan perintah berikut untuk menarik gambar yang diperlukan.

    ctr -n k8s.io images pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/qwen:7b-pytorch2.2.0.1-alinux3.2304

    Output yang diharapkan:

    ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/qwen:7b-pytorch2.2.0.1-alinux3.2304: resolved       |++++++++++++++++++++++++++++++++++++++| 
    index-sha256:26f7ec425ca145b75edea364a51aa295587ddd5d65ac204e4e6da0e51bddb357:    done           |++++++++++++++++++++++++++++++++++++++| 
    manifest-sha256:f6d5fb3791e6b6a3213b44ede5bec8e4a3b7fbd4ff4ba22ace00a10b83a4982a: done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:bf2e4c7c66fc8341e90fb1a2f5f19c3b76b692054d54c42095d5fb9b18c1fac8:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:fec856349732affc95608fc6e36d9c9cb50247901696df2046a781a3969e5360:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:ed96823de6cfad0ef1b9de97e427f41160817c98e9bebf90ba8cc37992eabc96:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:9df511db38b7e057b13fa70a4f9e4a7e65e7efec867b2668908634181cac38a9:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:1a4373bb9d93a3b5ada44eabc5fc42a548124703fcba53e8085e3392c85649b1:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:5725de981ff2b5977566f75731fb218716625462d0bc5ee519b9923965b5a352:    done           |++++++++++++++++++++++++++++++++++++++| 
    config-sha256:5d25192c5dd2dfe79ead390db8668baaf10667e5ae789420cda953291f91559f:   done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:af616670f1a58fbbccff2e7053aa93994bdcc539ab388b668afd8ddf8437ee3d:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:da5d933bec7b35e1ca604c002d06a18e3b3b5e52420edaa8e85e56e8853641b7:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:cbfd4016879986762938d503ee88832c0f32989c07a0e41966f0fdbdb4d82d9f:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:0c2891fbd11945ec68c8a936413f844957ece8196c595f64f683531649293f5b:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:ef52560218e4372dd5bc40de38a2032d66fad82129b39e622b020038220327fc:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:a5d4fb6719df2b4228e2ac875522cae82159c42fd5f60d4de4bf53ece0862368:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:30b9d466ccc9dfbe42ddfb86f57e526f095827cbff25aaa0ff98d861ad791f45:    done           |++++++++++++++++++++++++++++++++++++++| 
    layer-sha256:6df931e10a58a685f5cfb9bfc29e9127e1145cc3aa05209316edc820a6ebc00b:    done           |++++++++++++++++++++++++++++++++++++++| 
    elapsed: 66.3s                                                                    total:  780.8  (11.8 MiB/s)                                      
    unpacking linux/amd64 sha256:26f7ec425ca145b75edea364a51aa295587ddd5d65ac204e4e6da0e51bddb357...
    done: 17.972544176s
  2. Buat Snapshot disk data Instance ECS. Untuk informasi selengkapnya, lihat Buat Snapshot.

Langkah 4: Pilih Snapshot disk data di kelompok node ACK dan tambahkan node

  1. Buat kelompok node. Selama proses pembuatan, tambahkan disk data dan gunakan Snapshot yang telah Anda buat pada langkah sebelumnya untuk membuat disk tersebut. Atur jumlah node yang diharapkan menjadi 1.

    Penting

    Disk data yang menggunakan Snapshot harus merupakan disk data terakhir. Untuk informasi selengkapnya tentang cara kerja akselerasi, lihat Cara kerja akselerasi cache disk data.

  2. Masuk ke salah satu node dalam kelompok node dan jalankan perintah berikut untuk melihat gambar kontainer.

    sudo crictl images

    Output yang diharapkan:

    IMAGE                                                                     TAG                              IMAGE ID            SIZE
    ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/qwen                         7b-pytorch2.2.0.1-alinux3.2304   5d25192c5dd2d       820MB
    .......

    Output menunjukkan bahwa gambar kontainer ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/qwen sudah tersedia.

  3. Karena gambar tersebut telah di-cache di node, beban kerja aplikasi Qwen-7B langsung memasuki status Berjalan setelah dijadwalkan ke node tersebut.

Terapkan aplikasi tanpa menggunakan Snapshot disk data untuk akselerasi

Anda dapat membuat Deployment dengan mengikuti petunjuk di Buat beban kerja tanpa status Deployment. Selama proses pembuatan, pilih gambar kontainer ac2/qwen dari Artifacts.

Skenario 2: Mempercepat inisialisasi node

Skenario ini menjelaskan cara mempercepat inisialisasi node, yaitu proses saat node berubah dari status Created ke status Ready. Prosedurnya sebagai berikut:

  1. Gunakan Instance ECS untuk memuat terlebih dahulu kubelet dan gambar kontainer yang diperlukan oleh ACK ke disk data.

  2. Simpan kubelet dan gambar kontainer dalam cache, lalu buat Snapshot.

  3. Gunakan Snapshot ini sebagai disk data untuk node baru dalam kelompok node guna mempercepat proses inisialisasi node.

Catatan

Waktu inisialisasi node yang disebutkan dalam skenario ini bersifat teoretis. Waktu aktual tergantung pada lingkungan operasi Anda.

Cache kubelet yang diperlukan oleh ACK menggunakan Snapshot disk data

mkdir -p /mnt/example/ack
export KUBE_VERSION="1.32.1-aliyun.1"
export REGION="cn-hangzhou"
wget http://aliacs-k8s-$REGION.oss-$REGION-internal.aliyuncs.com/public/pkg/kubernetes/kubernetes-$KUBE_VERSION-linux-amd64.tar.gz
tar -xvf kubernetes-$KUBE_VERSION-linux-amd64.tar.gz
mv pkg/kubernetes /mnt/example/ack/

Cache gambar yang diperlukan oleh ACK menggunakan Snapshot disk data

Penting

Versi komponen sistem dapat berubah selama peningkatan. Hal ini dapat menyebabkan ketidaksesuaian antara versi gambar kontainer dalam cache disk data dan versi gambar yang diterapkan. Jika hal ini terjadi, Anda harus membuat Snapshot disk data baru. Untuk informasi selengkapnya tentang perubahan komponen, lihat Catatan rilis komponen ACK dan perbarui Snapshot sesegera mungkin.

Langkah 1: Ekspor gambar kontainer sistem yang diperlukan

  1. Pada kluster tempat Anda ingin menggunakan Snapshot disk data, buat node baru dan hubungkan ke Instance ECS.

  2. Pada node kluster, gunakan skrip berikut untuk mengekspor gambar sistem yang diperlukan. Setelah skrip dijalankan, file image_list.txt akan dihasilkan di direktori saat ini.

    #!/bin/bash
    
    # Tetapkan path file output.
    OUTPUT_FILE="./image_list.txt"
    
    # Hapus atau buat file output.
    > "$OUTPUT_FILE"
    
    # Dapatkan nama dan tag semua gambar kontainer.
    images=$(crictl images --no-trunc|awk 'NR>1 {print $1 ":" $2}')
    
    # Iterasi dan ekspor setiap gambar.
    for image in $images; do
      echo "$image" >> "$OUTPUT_FILE"
    done
    
    echo "Semua gambar telah diekspor ke $OUTPUT_FILE"

Langkah 2: Buat Snapshot dan tingkatkan jumlah node kluster

  1. Buat Instance ECS dan instal runtime kontainer. Untuk informasi selengkapnya, lihat Skenario 1, Langkah 1, dan Langkah 2.

  2. Unggah file image_list.txt yang telah Anda hasilkan di Langkah 1 ke Instance ECS.

  3. Pada Instance ECS, jalankan skrip berikut untuk menarik secara otomatis semua gambar kontainer komponen sistem yang diperlukan. Jika perintah crictl tidak tersedia, lihat Install crictl untuk menginstalnya.

    #!/bin/bash
    
    # Tetapkan path file input.
    INPUT_FILE="./image_list.txt" 
    
    # Periksa apakah file tersebut ada.
    if [ ! -f "$INPUT_FILE" ]; then
      echo "Error: File $INPUT_FILE tidak ada!"
      exit 1
    fi
    
    # Iterasi setiap baris (setiap gambar) dalam file input.
    while IFS= read -r image; do
      if [ -n "$image" ]; then  # Pastikan baris tersebut tidak kosong.
        echo "Menarik gambar $image..."
    
        # Gunakan crictl pull untuk menarik gambar.
        crictl pull "$image"
    
        if [ $? -eq 0 ]; then
          echo "Gambar $image berhasil ditarik!"
        else
          echo "Gagal menarik gambar $image!"
        fi
      fi
    done < "$INPUT_FILE"
  4. Hentikan Instance ECS dan buat Snapshot disk data. Untuk informasi selengkapnya, lihat Buat Snapshot.

  5. Buat kelompok node yang memenuhi persyaratan berikut untuk mengonfigurasi Snapshot disk data. Untuk informasi selengkapnya, lihat Buat kelompok node.

    1. Data Disk: Tambahkan disk data dan gunakan Snapshot yang telah Anda buat untuk membuat disk tersebut.

      Penting
      • Disk data yang menggunakan Snapshot harus merupakan disk data terakhir. Untuk informasi selengkapnya tentang cara kerja akselerasi, lihat Cara kerja akselerasi cache disk data.

      • Jika Anda memilih Enable Image Accelerator saat membuat kelompok node, efisiensi pembuatan Snapshot disk data mungkin terpengaruh.

    2. Custom Data: Tambahkan perintah touch /var/.skip-yum untuk melewati pembaruan sumber yum saat node bergabung ke kelompok node.

      image

    3. Expected Number Of Nodes: Atur nilai ini menjadi 1.

  6. Periksa waktu yang dibutuhkan oleh node yang dipercepat oleh Snapshot disk data untuk berubah dari status Created ke status Ready. Untuk informasi selengkapnya, lihat Lihat event node.

Cache gambar komponen sistem ACK tanpa menggunakan Snapshot disk data

Anda dapat menggunakan citra ContainerOS untuk membuat node kluster. Kemudian, Anda dapat mengamati waktu yang dibutuhkan oleh node yang tidak dipercepat oleh Snapshot disk data untuk berubah dari status Created ke status Ready. Untuk informasi selengkapnya, lihat periksa event node.

Cara kerja akselerasi cache disk data

Saat Anda membuat kelompok node, Anda dapat menambahkan disk data. Jika disk data diterapkan ke direktori containerd dan menggunakan Snapshot disk data, cache gambar dari Snapshot akan dimuat ke direktori containerd. Saat Anda membuat beban kerja, Anda dapat langsung menggunakan gambar yang telah di-cache, sehingga mengurangi waktu startup aplikasi.