Topik ini menjelaskan cara memasang volume emptyDir ke instans Elastic Container Instance (ECI) untuk penyimpanan sementara dan berbagi data antar kontainer.
Catatan penggunaan
Volume emptyDir menyediakan penyimpanan sementara. Data dalam volume emptyDir akan dihapus secara permanen jika instans ECI dihapus atau dimulai ulang.
Konfigurasi (API)
Saat memanggil operasi API CreateContainerGroup untuk membuat instans Elastic Container Instance, Anda dapat menggunakan parameter terkait Volume untuk menentukan volume, lalu menggunakan parameter terkait Container.VolumeMount untuk memasang volume tersebut ke kontainer. Parameter terkait dijelaskan di bawah ini. Untuk informasi selengkapnya, lihat CreateContainerGroup.
Deklarasikan volume
Saat menggunakan parameter terkait Volume untuk menentukan volume, Anda harus terlebih dahulu menentukan tipe dan nama volume tersebut. Selanjutnya, konfigurasikan parameter Volume lainnya berdasarkan nilai parameter Volume.N.Type.
|
Parameter |
Tipe |
Contoh |
Deskripsi |
|
Volume.N.Name |
String |
emptydir-demo |
Nama volume. |
|
Volume.N.Type |
String |
EmptyDirVolume |
Menentukan tipe volume. Atur ke |
|
Volume.N.EmptyDirVolume.Medium |
String |
Memory |
Media penyimpanan untuk volume emptyDir. Jika Anda tidak mengisi parameter ini, sistem file host akan digunakan secara default. Nilai yang valid:
|
|
Volume.N.EmptyDirVolume.SizeLimit |
String |
256Mi |
Ukuran volume emptyDir. Anda harus menyertakan satuan dalam nilainya, seperti |
Untuk volume emptyDir dengan Medium diatur ke Memory, Anda dapat mengatur SizeLimit untuk mengubah ukuran shm instans. Setelah mengatur parameter Medium dan SizeLimit, Anda harus memasang volume emptyDir ke direktori /dev/shm kontainer.
Pasang volume
Setelah menentukan volume, Anda dapat menggunakan parameter terkait VolumeMount untuk memasang volume tersebut ke kontainer.
Parameter | Tipe | Contoh | Deskripsi |
Container.N.VolumeMount.N.Name | String | test-volume | Nama volume N yang akan dipasang ke kontainer N. Nilai ini sama dengan nilai Volume.N.Name. |
Container.N.VolumeMount.N.MountPath | String | /usr/share | Jalur dalam kontainer tempat volume dipasang. Data dalam direktori ini akan ditimpa oleh data pada volume. |
Container.N.VolumeMount.N.SubPath | String | /usr/sub | Subdirektori dari volume. Parameter ini menentukan subdirektori berbeda dari volume yang sama yang dapat dipasang instans ke subdirektori berbeda pada kontainer. |
Container.N.VolumeMount.N.ReadOnly | Boolean | false | Menentukan apakah direktori pemasangan bersifat read-only. Nilai default: false. |
Container.N.VolumeMount.N.MountPropagation | String | None | Pengaturan propagasi pemasangan volume N. Propagasi pemasangan memungkinkan Anda berbagi volume yang dipasang ke satu kontainer dengan kontainer lain dalam instans Elastic Container Instance yang sama, atau bahkan dengan instans Elastic Container Instance lain pada host yang sama. Nilai yang valid:
Nilai default: None. |
Volume juga dapat dipasang ke init container. Parameter yang diperlukan mirip dengan parameter pada tabel di atas; cukup ganti Container menjadi InitContainer.
Konfigurasi (konsol)
Saat membuat instans Elastic Container Instance di halaman pembelian Elastic Container Instance, Anda dapat menentukan volume di bagian Container Group Configurations, lalu memasang volume tersebut ke kontainer di bagian Container Configurations.
Deklarasikan volume
-
Di bagian Container Group Configurations, buka Advanced Settings.
-
Di tab Temporary Directories pada bagian Storage, klik Add.
-
Masukkan nama untuk volume emptyDir.
Misalnya, masukkan
emptydir-demodi bidang Name.
Pasang volume
-
Di bagian Container Configurations, pilih kontainer dan buka pengaturan lanjutannya.
-
Aktifkan sakelar Storage, lalu klik Add.
Anda hanya dapat menambahkan volume yang telah dideklarasikan saat mengonfigurasi kelompok kontainer.
Pilih penyimpanan dengan nama emptydir-demo dan tipe Temporary Directories, lalu atur jalur pemasangan dalam kontainer ke
/data.
Jika ingin memasang volume ke beberapa kontainer, pilih lebih banyak kontainer dan ulangi langkah-langkah di atas.
Contoh
Contoh berikut menunjukkan parameter untuk memanggil operasi CreateContainerGroup guna membuat instans ECI dan memasang volume emptyDir ke instans tersebut. Untuk informasi selengkapnya, lihat CreateContainerGroup.
-
Contoh 1: Berbagi data antar kontainer
ContainerGroupName=test-emptydir # Deklarasikan volume Volume.1.Name=emptydir-demo Volume.1.Type=EmptyDirVolume # Pasang volume ke kontainer 1 Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2 Container.1.VolumeMount.1.Name=emptydir-demo Container.1.VolumeMount.1.MountPath=/data1 # Pasang volume ke kontainer 2 Container.2.Name=busybox Container.2.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/busybox:1.30 Container.2.Command.1=sleep Container.2.Arg.1=999999 Container.2.VolumeMount.1.Name=emptydir-demo Container.2.VolumeMount.1.MountPath=/data2Pada contoh ini, Kontainer 1 dan Kontainer 2 berbagi volume emptyDir. Direktori
/data1di Kontainer 1 dan direktori/data2di Kontainer 2 awalnya kosong. File apa pun yang ditambahkan ke volume emptyDir dari salah satu kontainer dapat diakses oleh kontainer lainnya. -
Contoh 2: Mengubah ukuran shm instans
ContainerGroupName=test-emptydir # Deklarasikan volume Volume.1.Name=emptydir-shm Volume.1.Type=EmptyDirVolume Volume.1.EmptyDirVolume.Medium=Memory Volume.1.EmptyDirVolume.SizeLimit=256Mi # Pasang volume ke kontainer 1 Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2 Container.1.VolumeMount.1.Name=emptydir-shm Container.1.VolumeMount.1.MountPath=/dev/shmPada contoh ini,
EmptyDirVolume.Mediumdiatur keMemorydanEmptyDirVolume.SizeLimitke256Mi, lalu volume emptyDir dipasang ke direktori/dev/shm, sehingga ukuranshminstans ECI menjadi 256 MiB.