All Products
Search
Document Center

Container Service for Kubernetes:Bandingkan runtime containerd, Sandboxed-Container, dan Docker

Last Updated:Jun 24, 2026

ACK mendukung containerd, Sandboxed-Container, dan Docker. Bandingkan model isolasi, batasan penggunaan, dan arsitektur penerapan untuk memilih runtime yang tepat bagi workload Anda.

Penting

Runtime Docker telah dihentikan. Jika kluster Anda menjalankan Docker, migrasikan ke containerd.

Cara runtime kontainer masuk dalam node Kubernetes

Runtime kontainer mengelola siklus hidup kontainer pada setiap node. kubelet berkomunikasi dengan runtime melalui Container Runtime Interface (CRI). Pilihan runtime menentukan model isolasi, jenis node yang didukung, serta alat CLI yang tersedia.

ACK mendukung runtime berikut:

  • containerd — Direkomendasikan untuk sebagian besar workload. Ringan, langsung kompatibel dengan CRI, dan tidak memerlukan daemon perantara.

  • Sandboxed-Container — Menggunakan VM ringan (runV) untuk menjalankan setiap Pod dalam kernel terisolasi.

  • Docker (dihentikan) — Migrasikan ke containerd.

Fitur dan batasan

Fitur

containerd

Sandboxed-Container

Docker (maintenance dihentikan)

Jenis kluster

  • Kluster ACK yang dikelola

  • Cluster khusus ACK

  • Kluster ACK Edge

  • Kluster ACK yang dikelola

  • Cluster khusus ACK

Semua jenis kluster ACK

Versi Kubernetes

1.20 atau lebih baru

1.16 atau lebih baru

1.22 dan sebelumnya

Jenis node

  • ECS

  • Node yang dikelola sendiri (kluster ACK Edge)

Hanya keluarga ECS Bare Metal Instance

ECS

Sistem operasi node

Container Service for Kubernetes menyediakan gambar publik untuk sistem operasi seperti versi Alibaba Cloud Linux 3 yang dioptimalkan untuk kontainer, ContainerOS, Alibaba Cloud Linux 3, Ubuntu, dan Windows. Untuk informasi selengkapnya, lihat Sistem operasi.

  • Alibaba Cloud Linux

  • CentOS

Engine kontainer

containerd

containerd

Docker

Pemantauan

Didukung

Didukung

Didukung

Pengumpulan log kontainer

Didukung

Injeksi sidecar manual. Lihat Gunakan CRD untuk mengumpulkan log teks kontainer dalam mode sidecar.

Didukung

Pengumpulan stdout kontainer

Didukung

Didukung

Didukung

RuntimeClass

Tidak didukung

Didukung (runV)

Tidak didukung

Penjadwalan Pod

Tidak perlu konfigurasi.

Tambahkan konfigurasi berikut:

  • Untuk Kubernetes 1.14.x, tambahkan ke nodeSelector:

    alibabacloud.com/sandboxed-container: Sandboxed-Container.runv
  • Untuk 1.16.x dan lebih baru, tidak diperlukan konfigurasi tambahan.

Tidak perlu konfigurasi.

HostNetwork

Didukung

Tidak didukung

Didukung

Disk data node

Opsional

Wajib. Minimal 200 GiB.

Opsional

Plugin jaringan

  • Flannel

  • Terway (tidak termasuk kluster ACK Edge)

  • Flannel

  • Dengan Terway, mode ENI eksklusif dan DataPath v2 tidak didukung.

  • Flannel

  • Terway

Mode kube-proxy

  • iptables

  • IPVS

  • iptables

  • IPVS

  • iptables

  • IPVS

Plugin volume

Plugin CSI (tidak termasuk kluster ACK Edge)

Plugin CSI

Plugin CSI

Sistem file root kontainer

OverlayFS

OverlayFS (dengan kuota disk)

OverlayFS

Catatan

Docker dan Sandboxed-Container tidak dapat berbagi node. Untuk menggunakan keduanya dalam satu kluster, buat kelompok node terpisah untuk masing-masing runtime.

Catatan

Sandboxed-Container berjalan di atas containerd. Saat Anda memeriksa node dengan kubectl get node atau di Konsol ACK, runtime akan ditampilkan sebagai containerd.

Arsitektur penerapan

Rantai panggilan dari kubelet ke kontainer bervariasi tergantung pada runtime. Semakin sedikit lapisan, semakin rendah overhead dan kompleksitasnya.

Runtime

Arsitektur penerapan

Docker

kubelet
└── dockerd
    └── containerd
        └── containerd-shim
            └── runC containers

containerd

kubelet
└── containerd
    └── containerd-shim
        └── runC containers

Sandboxed-Container v2

kubelet
├── (CRI) containerd
│   ├── containerd-shim
│   │   └── runC containers
│   └── containerd-shim-runv2
│       └── runV sandboxed containers

containerd menghilangkan lapisan dockerd sehingga kubelet memiliki akses langsung ke CRI. Sandboxed-Container v2 memperluas containerd dengan containerd-shim-runv2, yang menjalankan Pod dalam VM ringan melalui runV untuk memberikan isolasi tingkat kernel bersama kontainer runC standar.

Perintah CLI untuk containerd dan Docker

containerd dan Docker menggunakan alat CLI yang berbeda. crictl direkomendasikan untuk containerd karena beroperasi pada level CRI. ctr merupakan alternatif tingkat lebih rendah dari containerd.

Operasi

crictl (direkomendasikan untuk containerd)

ctr (CLI tingkat rendah containerd)

docker

Daftar kontainer

crictl ps

ctr -n k8s.io c ls

docker ps

Periksa kontainer

crictl inspect <container>

ctr -n k8s.io c info <container>

docker inspect <container>

Lihat log kontainer

crictl logs <container>

N/A

docker logs <container>

Jalankan perintah dalam kontainer

crictl exec <container>

N/A

docker exec <container>

Menyambungkan ke kontainer

crictl attach <container>

N/A

docker attach <container>

Lihat penggunaan resource

crictl stats <container>

N/A

docker stats <container>

Buat kontainer

crictl create <container>

ctr -n k8s.io c create <container>

docker create <container>

Jalankan kontainer

crictl start <container>

ctr -n k8s.io run <container>

docker start <container>

Hentikan kontainer

crictl stop <container>

ctr -n k8s.io task pause <container>

docker stop <container>

Hapus kontainer

crictl rm <container>

ctr -n k8s.io c del <container>

docker rm <container>

Daftar image

crictl images

ctr -n k8s.io i ls <image>

docker images

Periksa image

crictl inspecti <image>

N/A

docker inspect <image>

Tarik gambar

crictl pull <image>

ctr -n k8s.io i pull <image>

docker pull <image>

Dorong image

N/A

ctr -n k8s.io i push <image>

docker push <image>

Hapus image

crictl rmi <image>

ctr -n k8s.io i rm <image>

docker rmi <image>

Daftar Pod

crictl pods

N/A

N/A

Periksa Pod

crictl inspectp <pod name>

N/A

N/A

Jalankan Pod

crictl runp <pod name>

N/A

N/A

Hentikan Pod

crictl stopp <pod name>

N/A

N/A

Langkah selanjutnya

Referensi