All Products
Search
Document Center

Container Service for Kubernetes:Percepat pembuatan pod dengan ImageCache

Last Updated:Jun 19, 2026

Sebelum ECI dijalankan, ECI harus menarik gambar kontainer yang diperlukan. Proses menarik gambar ini merupakan penyebab utama keterlambatan saat startup pod. ImageCache membuat snapshot cache dari gambar kontainer terlebih dahulu sehingga pembuatan pod berikutnya dapat menggunakan kembali cache tersebut untuk memangkas waktu startup pod pada node virtual.

Waktu yang sebenarnya dihemat bervariasi tergantung pada jumlah gambar, ukuran, dan kondisi jaringan.

Penagihan

Pembuatan dan penggunaan image cache dapat dikenai biaya. Lihat Penagihan image cache.

Prasyarat

Pastikan Anda memiliki:

  • Kluster ACK dengan node virtual yang diaktifkan

  • Akses kubectl ke kluster

Langkah 1: Aktifkan dukungan ImageCache

Periksa apakah kluster Anda mendukung ImageCache:

kubectl get crd/imagecaches.eci.alibabacloud.com
  • Jika informasi tentang imagecaches.eci.alibabacloud.com dikembalikan, berarti ImageCache didukung. Lanjutkan ke Langkah 2.

  • Jika muncul error, perbarui ACK Virtual Node ke versi terbaru.

Langkah 2: Buat image cache

Gunakan pembuatan otomatis kecuali jika Anda memerlukan kecepatan maksimum untuk pod pertama.

Metode Kapan digunakan Cara kerja
Otomatis Sebagian besar kasus — menghemat biaya Jika tidak ada cache yang sesuai, sistem akan membuatnya selama pembuatan pod. Pod berikutnya dengan gambar yang sama akan menggunakan kembali cache tersebut.
Manual Pembuatan pertama kali yang memerlukan kecepatan maksimum Buat image cache terlebih dahulu menggunakan templat YAML, lalu rujuk cache tersebut saat membuat pod.

Untuk pembuatan manual, lihat Kelola ImageCache dan Anotasi image cache. Bandingkan metode dalam Metode pembuatan image cache.

Langkah 3: Gunakan image cache untuk membuat pod

Tambahkan anotasi ke bagian metadata spesifikasi pod Anda (atau spec.template.metadata dalam Penyebaran) untuk memilih image cache.

Penting

Anotasi hanya berlaku saat pembuatan pod. Mengubah anotasi pada pod yang sudah ada tidak akan berpengaruh.

Referensi anotasi

ImageCache adalah resource tingkat kluster yang dapat digunakan lintas namespace.

Penting
  • Pencocokan gambar: Gunakan referensi gambar yang sama dalam spesifikasi pod seperti yang digunakan dalam ImageCache untuk memaksimalkan tingkat kecocokan.

  • Kebijakan tarik: Atur imagePullPolicy ke IfNotPresent agar lapisan cache tidak diunduh ulang.

Anotasi Nilai contoh Bawaan Deskripsi
k8s.aliyun.com/eci-auto-imc "true" true Mengaktifkan pencocokan image cache otomatis. Memilih kecocokan terbaik berdasarkan tingkat kecocokan gambar, ukuran, dan waktu pembuatan. Membuat cache baru jika tidak ada kecocokan.
k8s.aliyun.com/imc-perfect-match "true" false Mengharuskan semua gambar pod cocok sepenuhnya dengan image cache. Memiliki prioritas lebih tinggi daripada imc-match-count-request.
k8s.aliyun.com/imc-match-count-request "2" Jumlah gambar pod yang harus cocok dengan image cache.
k8s.aliyun.com/eci-imc-id imc-2zebxkiifuyzzlhl**** Mengaitkan pod ke image cache tertentu berdasarkan ID. Memiliki prioritas lebih tinggi daripada pencocokan otomatis.

Prioritas anotasi: Jika imc-perfect-match dan imc-match-count-request keduanya ditetapkan, imc-perfect-match memiliki prioritas lebih tinggi. Saat eci-imc-id ditentukan, anotasi ini menggantikan pencocokan otomatis.

Cocokkan image cache secara otomatis (disarankan)

Aktifkan eci-auto-imc dan tambahkan imc-perfect-match secara opsional untuk pencocokan yang lebih ketat:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true"
      annotations:
        k8s.aliyun.com/eci-auto-imc: "true"          # Mengaktifkan pencocokan image cache otomatis
        k8s.aliyun.com/imc-perfect-match: "true"      # Semua gambar dalam pod harus cocok sepenuhnya dengan cache
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        imagePullPolicy: IfNotPresent
      - name: busybox
        image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
        command: ["sleep"]
        args: ["999999"]
        imagePullPolicy: IfNotPresent

Tentukan image cache

Penting

Image cache yang ditentukan harus berada dalam kondisi Ready. Jika tidak, pembuatan pod akan gagal.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true"
      annotations:
        k8s.aliyun.com/eci-imc-id: imc-2ze5tm5gehgtiiga****  # Mengaitkan ke image cache tertentu
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        imagePullPolicy: IfNotPresent

Terapkan anotasi secara massal

Gunakan fitur Elastic Container Instance Effect dalam eci-profile untuk menerapkan anotasi ImageCache ke semua pod yang sesuai. Lihat Konfigurasikan eci-profile untuk secara otomatis menggunakan fitur ImageCache.

Langkah berikutnya