All Products
Search
Document Center

Elastic Container Instance:Memasang volume disk cloud ke instans ECI

Last Updated:Apr 01, 2026

Secara default, penyimpanan kontainer bersifat sementara—data yang ditulis di dalam kontainer akan hilang ketika kontainer dimulai ulang. Memasang volume disk memungkinkan data tetap tersimpan meskipun terjadi restart. Topik ini menjelaskan cara memasang disk sebagai volume saat membuat instans Elastic Container Instance (ECI) melalui API CreateContainerGroup.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans Elastic Container Instance (ECI) di zona ketersediaan target

  • Disk pay-as-you-go di zona ketersediaan yang sama dengan instans (untuk provisioning statis)

Batasan

  • Hanya disk pay-as-you-go yang dapat dipasang. Lihat Penagihan block storage.

  • Satu disk hanya dapat dipasang ke satu instans Elastic Container Instance (ECI) pada satu waktu—disk tidak dapat dibagikan.

  • Setiap instans Elastic Container Instance (ECI) mendukung maksimal enam volume disk.

  • Disk harus berada di zona ketersediaan yang sama dengan instans Elastic Container Instance (ECI). Pemasangan lintas zona tidak didukung. Buat disk di zona target sebelum memasangnya.

  • Disk NVMe yang memiliki fitur multi-mount diaktifkan (NVMe shared disks) tidak dapat dipasang.

  • Disk yang memiliki partisi tidak dapat dipasang. Jika Anda menggunakan snapshot untuk membuat disk dan disk berbasis snapshot tersebut memiliki partisi, maka disk tersebut juga tidak dapat dipasang.

Cara kerja

Volume disk menggunakan Plugin FlexVolume dengan driver alicloud/disk. Saat Anda memanggil CreateContainerGroup, Anda:

  1. Mendeklarasikan volume menggunakan parameter Volume.N.*—menentukan sumber disk (disk yang sudah ada atau disk baru).

  2. Memasang volume yang dideklarasikan ke kontainer menggunakan parameter Container.N.VolumeMount.N.*—menentukan path pemasangan dan perilakunya.

Kedua mode provisioning berbeda dalam cara disk disediakan:

ModeKapan digunakanParameter utama
Static provisioningAnda sudah memiliki disk yang akan disambungkanvolumeId dalam FlexVolume.Options
Dynamic provisioningECI membuat disk baru saat launchvolumeSize dalam FlexVolume.Options

Deklarasi volume

Tetapkan parameter Volume.N.* berikut untuk mendeklarasikan volume disk.

ParameterTipeContohDeskripsi
Volume.N.NameStringdisk-demoNama volume. Dirujuk oleh Container.N.VolumeMount.N.Name saat pemasangan.
Volume.N.TypeStringFlexVolumeTetapkan ke FlexVolume untuk menggunakan Plugin FlexVolume.
Volume.N.FlexVolume.DriverStringalicloud/diskTetapkan ke alicloud/disk untuk memasang disk Alibaba Cloud.
Volume.N.FlexVolume.FsTypeStringext4Jenis sistem file. Nilai yang valid: ext4, ext3, xfs, vfat. Default: ext4.
Volume.N.FlexVolume.OptionsString{"volumeId":"d-bp1****"}String JSON yang berisi konfigurasi disk. Lihat bagian berikut untuk kunci yang tersedia.

Static provisioning — gunakan disk yang sudah ada

Sediakan volumeId dalam FlexVolume.Options untuk menyambungkan disk yang sudah ada. Disk harus berada dalam status Pending dan berada di zona ketersediaan yang sama dengan instans. Ketika volumeId ditentukan, semua parameter atribut disk lainnya (volumeSize, performanceLevel, dan sebagainya) diabaikan. Jika Anda tidak menentukan volumeId, Anda harus menentukan volumeSize.

Option keyDeskripsi
volumeIdID disk yang akan disambungkan.

Dynamic provisioning — buat disk baru

Abaikan volumeId dan sediakan volumeSize agar ECI membuat disk baru saat launch. Sistem secara otomatis menggunakan enhanced SSD (ESSD)—Anda tidak dapat menentukan kategori disk.

Option keyWajibDeskripsi
volumeSizeYaUkuran disk dalam GiB. Nilai yang valid: 20–32768. Jika Anda juga menentukan snapshotId, ukuran disk aktual adalah nilai terbesar antara volumeSize dan ukuran disk berbasis snapshot.
performanceLevelTidakTingkat kinerja (PL) ESSD. Lihat ESSDs.
deleteWithInstanceTidakApakah disk dilepas saat instans dilepas. Default: true.
encryptedTidakApakah disk dienkripsi. Default: false. Lihat Ikhtisar enkripsi.
kmsKeyIdTidakID kunci Key Management Service (KMS) yang digunakan untuk enkripsi disk.
snapshotIdTidakID snapshot yang digunakan saat membuat disk. Lihat Ikhtisar.
tagsTidakTag yang dilampirkan ke disk. Maksimal 20 tag. Format: "tagkey1:tagvalue1,tagkey2:tagvalue2".

Memasang volume ke kontainer

Setelah mendeklarasikan volume, gunakan parameter Container.N.VolumeMount.N.* untuk memasangnya ke kontainer.

ParameterTipeContohDeskripsi
Container.N.VolumeMount.N.NameStringdisk-demoNama volume yang akan dipasang. Harus sesuai dengan nilai Volume.N.Name.
Container.N.VolumeMount.N.MountPathString/dataPath di dalam kontainer tempat volume dipasang. Data yang sudah ada di path ini akan disembunyikan oleh volume.
Container.N.VolumeMount.N.SubPathString/logsSubdirektori dari volume yang akan dipasang. Gunakan ini untuk memasang subdirektori berbeda dari volume yang sama ke kontainer yang berbeda.
Container.N.VolumeMount.N.ReadOnlyBooleanfalseApakah path pemasangan bersifat read-only. Default: false.
Container.N.VolumeMount.N.MountPropagationStringNoneMengontrol apakah pemasangan dibagikan antara kontainer dan host. Default: None. Lihat tabel berikut.

Mode propagasi mount

NilaiYang dilihat kontainerYang dilihat host
NoneHanya pemasangan yang ada saat penyambungan—pemasangan selanjutnya ke volume ini atau subdirektorinya tidak terlihat.Pemasangan yang dibuat di dalam kontainer tidak terlihat di host.
HostToContainerSemua pemasangan selanjutnya yang dilakukan ke volume ini atau subdirektorinya di host terlihat di dalam kontainer.Pemasangan yang dibuat di dalam kontainer tidak terlihat di host.
BidirectionalSemua pemasangan selanjutnya yang dilakukan ke volume ini atau subdirektorinya di host terlihat di dalam kontainer.Semua pemasangan yang dibuat di dalam kontainer dipropagasikan kembali ke host dan ke semua kontainer dari semua instans Elastic Container Instance (ECI) yang menggunakan volume yang sama.
Untuk memasang volume ke init container, gunakan parameter yang sama dengan InitContainer menggantikan Container.

Contoh

Contoh berikut menunjukkan parameter utama yang perlu diteruskan ke CreateContainerGroup.

Contoh 1: Static provisioning (disk yang sudah ada)

ContainerGroupName=test-disk1
SecurityGroupId=sg-bp1daxpbz9lzpvvc****
VSwitchId=vsw-bp1gds63lmlm7ib05****

# Deklarasi volume
Volume.1.Name=disk-demo
Volume.1.Type=FlexVolume
Volume.1.FlexVolume.Driver=alicloud/disk
Volume.1.FlexVolume.FsType=ext4
Volume.1.FlexVolume.Options={"volumeId":"d-2zebuamrpar7xnj****"}

# Pasang volume ke kontainer
Container.1.Name=nginx
Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
Container.1.VolumeMount.1.Name=disk-demo
Container.1.VolumeMount.1.MountPath=/data
Penting

Disk harus berada dalam status Pending dan berada di zona ketersediaan yang sama dengan instans sebelum menjalankan operasi ini.

Contoh 2: Dynamic provisioning (disk baru)

ContainerGroupName=test-disk2

# Deklarasi volume
Volume.1.Name=disk-demo
Volume.1.Type=FlexVolume
Volume.1.FlexVolume.Driver=alicloud/disk
Volume.1.FlexVolume.FsType=ext4
Volume.1.FlexVolume.Options={"volumeSize":"50","tags":"test:eci"}

# Pasang volume ke kontainer
Container.1.Name=nginx
Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
Container.1.VolumeMount.1.Name=disk-demo
Container.1.VolumeMount.1.MountPath=/data

Disk ESSD berukuran 50 GiB dibuat secara otomatis saat instans diluncurkan. Disk dilepas bersama instans secara default (deleteWithInstance: true).

Langkah berikutnya