All Products
Search
Document Center

Elastic Container Instance:Memasang volume OSS ke instans kontainer elastis

Last Updated:Jun 21, 2026

Object Storage Service (OSS) menyediakan penyimpanan berskala besar, aman, hemat biaya, dan sangat andal untuk data tidak terstruktur seperti gambar, file audio, dan file video. Topik ini menjelaskan cara memasang volume OSS ke instans kontainer elastis.

Catatan penggunaan

  • OSS ditagih berdasarkan penggunaan dan mendukung metode penagihan seperti pay-as-you-go, paket sumber daya, dan storage capacity units (SCUs). Untuk informasi selengkapnya, lihat Ikhtisar penagihan OSS.

  • OSS menyediakan penyimpanan bersama. Satu bucket OSS dapat dipasang ke beberapa instans.

  • Jangan menyimpan lebih dari 1.000 file dalam satu direktori mount.

    Jumlah file yang berlebihan dapat menyebabkan klien OSS mengonsumsi memori dalam jumlah besar, yang berpotensi memicu event OOM (out-of-memory) pada instans.

Prasyarat

  1. Buat bucket OSS.

    1. Masuk ke Konsol OSS.

    2. Buat bucket OSS.

      Untuk informasi selengkapnya, lihat Membuat bucket.

  2. Pilih metode otorisasi.

    • Gunakan peran RAM untuk otorisasi (direkomendasikan).

      Buat peran RAM dan berikan izin kepadanya. Untuk informasi selengkapnya, lihat Membuat peran RAM dan Memberikan izin ke peran RAM.

      Saat membuat peran tersebut, atur Trusted Entity Type menjadi Alibaba Cloud Service, Role Type menjadi Normal Service Role, dan Trusted Service menjadi Elastic Compute Service (ECS). Lampirkan kebijakan AliyunOSSFullAccess ke peran tersebut.

    • Gunakan Pasangan Kunci Akses untuk otorisasi (tidak direkomendasikan).

      Dapatkan ID AccessKey dan Secret AccessKey. Untuk informasi selengkapnya, lihat Mendapatkan Pasangan Kunci Akses.

Konfigurasi (API)

Saat memanggil operasi API CreateContainerGroup untuk membuat instans kontainer elastis, 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. Kemudian, konfigurasikan parameter Volume lainnya berdasarkan nilai parameter Volume.N.Type.

Parameter

Tipe

Contoh

Deskripsi

Volume.N.Name

String

oss-demo

Nama volume.

Volume.N.Type

String

FlexVolume

Atur ke FlexVolume untuk membuat volume yang dipasang menggunakan plugin FlexVolume.

Volume.N.FlexVolume.Driver

String

alicloud/oss

Driver plugin FlexVolume. Atur ke alicloud/oss untuk memasang volume OSS.

Volume.N.FlexVolume.Options

String

{"bucket":"test-*","url":"oss-cn-hangzhou.aliyuncs.com","ramRole":"ram-*"}

String JSON berisi opsi untuk objek FlexVolume.

Saat Anda menggunakan FlexVolume untuk memasang volume OSS, parameter Options menentukan konfigurasi volume OSS. Parameter berikut didukung:

  • bucket: Nama bucket OSS.

  • url: Titik akhir bucket OSS. Anda dapat memperoleh titik akhir tersebut dari halaman Overview bucket yang dituju di Konsol OSS. Untuk informasi selengkapnya, lihat Wilayah dan titik akhir.

  • path: Jalur direktori relatif terhadap direktori root bucket. Nilai default: /.

  • otherOpts: Parameter kustom yang dapat Anda tentukan saat memasang volume OSS. Formatnya adalah -o *** -o ***. Contoh: -o max_stat_cache_size=0 -o allow_other.

  • akId: ID AccessKey jika Anda menggunakan Pasangan Kunci Akses untuk otorisasi.

  • akSecret: Secret AccessKey jika Anda menggunakan Pasangan Kunci Akses untuk otorisasi.

  • ramRole: Nama peran RAM jika Anda menggunakan peran RAM untuk otorisasi.

Memasang 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 tertutup 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 dalam kontainer.

Container.N.VolumeMount.N.ReadOnly

Boolean

false

Menentukan apakah direktori mount bersifat read-only. Nilai default: false.

Container.N.VolumeMount.N.MountPropagation

String

None

Pengaturan propagasi mount untuk volume N. Propagasi mount memungkinkan Anda berbagi volume yang dipasang ke satu kontainer dengan kontainer lain dalam instans kontainer elastis yang sama, atau bahkan dengan instans kontainer elastis lain pada host yang sama. Nilai yang valid:

  • None: Mount volume tidak menerima mount berikutnya yang dipasang ke volume ini atau subdirektorinya.

  • HostToContainer: Mount volume menerima semua mount berikutnya yang dipasang ke volume ini atau subdirektorinya.

  • Bidirectional: Nilai ini memiliki efek serupa dengan HostToContainer. Mount volume menerima semua mount berikutnya yang dipasang ke volume ini atau subdirektorinya. Selain itu, semua mount volume yang dibuat oleh kontainer N dipropagasikan kembali ke host dan ke semua kontainer dari semua instans kontainer elastis yang menggunakan volume yang sama.

Nilai default: None.

Catatan

Volume juga dapat dipasang ke init container. Parameter yang diperlukan mirip dengan parameter pada tabel di atas. Anda hanya perlu mengganti Container menjadi InitContainer.

Konfigurasi (Konsol)

Saat membuat instans kontainer elastis 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

  1. Di bagian Container Group Configurations, buka Advanced Settings.

  2. Di bagian Storage, pada tab OSS Persistence, klik Add.

  3. Konfigurasikan parameter volume OSS.

    • Name: Nama volume OSS.

    • Bucket: Nama bucket OSS.

    • RAM Role: Peran RAM yang memiliki izin untuk mengakses OSS.

Memasang volume

  1. Di bagian Container Configurations, pilih kontainer dan buka pengaturan lanjutannya.

  2. Aktifkan sakelar Storage dan klik Add.

    Volume yang tersedia adalah volume yang telah Anda deklarasikan dalam konfigurasi kelompok kontainer.

    Pada baris konfigurasi penyimpanan, atur Volume ke volume yang telah dideklarasikan, misalnya oss-demo, pilih tipe penyimpanan, misalnya OSS Persistence, dan masukkan Mount Path in Container, misalnya /data. Secara opsional, tentukan Sub Path, misalnya test, dan centang kotak pilihan Read-only.

Catatan

Jika ingin memasang volume ke beberapa kontainer, pilih lebih banyak kontainer dan ulangi langkah-langkah di atas.

Contoh konfigurasi

  1. Buat instans kontainer elastis, Instans A, dan pasang volume OSS ke instans tersebut.

    Contoh berikut menunjukkan parameter yang digunakan untuk memanggil operasi CreateContainerGroup guna membuat Instans A. Untuk informasi selengkapnya, lihat CreateContainerGroup.

    ContainerGroupName=test-oss-a
    # Deklarasikan volume
    Volume.1.Name=oss-demo
    Volume.1.Type=FlexVolume
    Volume.1.FlexVolume.Driver=alicloud/oss
    Volume.1.FlexVolume.Options={"bucket":"test-***","url":"oss-cn-hangzhou-internal.aliyuncs.com","ramRole":"ram-***"}
    # 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=oss-demo
    Container.1.VolumeMount.1.MountPath=/data-a
  2. Hubungkan ke Instans A dan buat file di direktori mount.

    Untuk informasi tentang cara menghubungkan ke instans kontainer elastis, lihat Menghubungkan ke instans ECI menggunakan Workbench.

    root@test-oss-a:/# cd data-a
    root@test-oss-a:/data-a# ls
    root@test-oss-a:/data-a# echo "hello" >test
    root@test-oss-a:/data-a# ls
    test
    root@test-oss-a:/data-a# cat test
    hello
  3. Hapus Instans A.

  4. Buat instans kontainer elastis lain, Instans B, dan pasang volume OSS yang sama ke instans tersebut.

    ContainerGroupName=test-oss-b
    # Deklarasikan volume
    Volume.1.Name=oss-demo
    Volume.1.Type=FlexVolume
    Volume.1.FlexVolume.Driver=alicloud/oss
    Volume.1.FlexVolume.Options={"bucket":"test-***","url":"oss-cn-hangzhou-internal.aliyuncs.com","ramRole":"ram-***"}
    # 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=oss-demo
    Container.1.VolumeMount.1.MountPath=/data-b
  5. Hubungkan ke Instans B dan periksa file di direktori mount.

    Karena OSS menyediakan penyimpanan persisten, Anda tetap dapat mengakses file yang ditulis oleh Instans A dari Instans B, meskipun Instans A telah dihapus.

    root@test-oss-b:/# cd data-b
    root@test-oss-b:/data-b# ls
    test
    root@test-oss-b:/data-b# cat test
    hello