全部产品
Search
文档中心

Elastic Container Instance:Mount an OSS volume to an elastic container instance

更新时间:Jul 06, 2025

Object Storage Service (OSS) adalah layanan penyimpanan Alibaba Cloud yang aman, hemat biaya, dan sangat andal. Layanan ini memungkinkan Anda menyimpan sejumlah besar data tidak terstruktur seperti gambar serta data audio dan video. Topik ini menjelaskan cara memasang Bucket OSS ke instance kontainer elastis sebagai volume.

Peringatan

  • OSS ditagih berdasarkan penggunaan dan mendukung metode penagihan bayar sesuai pemakaian, paket sumber daya, dan unit kapasitas penyimpanan (SCU). Untuk informasi lebih lanjut tentang penagihan OSS, lihat Ikhtisar Penagihan.

  • OSS adalah layanan penyimpanan bersama. Sebuah Bucket OSS dapat dipasang ke beberapa instance.

  • Disarankan untuk tidak menyimpan lebih dari 1.000 file di direktori pemasangan.

    Jika Anda menyimpan file berlebihan di direktori pemasangan, klien OSS akan mengonsumsi sejumlah besar memori, yang dapat menyebabkan kehabisan memori (OOM) pada instance.

Buat persiapan

  1. Buat Bucket OSS.

    1. Masuk ke Konsol OSS.

    2. Buat Bucket OSS.

      Untuk informasi lebih lanjut, lihat Membuat Bucket.

  2. Gunakan salah satu metode berikut untuk memberikan izin akses ke OSS:

    • Gunakan Peran RAM untuk memberikan izin.

      Buat Peran RAM dan berikan Peran RAM izin untuk mengakses Bucket OSS. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk Layanan Tepercaya Alibaba Cloud dan Berikan Izin ke Peran RAM.

      Saat membuat Peran RAM, pilih Alibaba Cloud Service untuk parameter Pilih Entitas Tepercaya, Normal Service Role untuk parameter Tipe Peran, dan Elastic Compute Service untuk parameter Pilih Layanan Tepercaya. Saat memberikan izin ke Peran RAM, lampirkan kebijakan AliyunOSSFullAccess ke Peran RAM.

    • (Tidak direkomendasikan) Gunakan pasangan AccessKey untuk memberikan izin.

      Dapatkan ID AccessKey dan Rahasia AccessKey. Untuk informasi lebih lanjut, lihat Dapatkan Pasangan AccessKey.

Deskripsi Konfigurasi (Mode API)

Saat memanggil operasi API CreateContainerGroup untuk membuat instance kontainer elastis, gunakan parameter terkait Volume untuk menentukan volume, lalu gunakan parameter terkait Container.VolumeMount untuk memasang volume tersebut ke kontainer. Bagian berikut menjelaskan parameter yang relevan. Untuk informasi lebih lanjut, lihat CreateContainerGroup.

Tentukan volume yang akan dipasang

Saat menggunakan parameter terkait Volume untuk menentukan volume, tentukan jenis dan nama volume terlebih dahulu. Kemudian, konfigurasikan parameter terkait Volume lainnya berdasarkan nilai parameter Volume.N.Type.

Parameter

Tipe

Contoh

Deskripsi

Volume.N.Name

String

oss-demo

Nama volume N.

Volume.N.Type

String

FlexVolume

Atur nilainya menjadi FlexVolume. Nilai ini menentukan volume yang dipasang menggunakan Plugin FlexVolume.

Volume.N.FlexVolume.Driver

String

alicloud/oss

Tipe driver saat menggunakan Plugin FlexVolume untuk memasang volume. Nilai alicloud/oss menunjukkan bahwa Bucket OSS Alibaba Cloud dipasang.

Volume.N.FlexVolume.Options

String

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

Opsi saat Anda mengatur parameter Volume.N.Type ke FlexVolume. Setiap opsi adalah pasangan kunci-nilai dalam string JSON.

Saat menggunakan Plugin FlexVolume untuk memasang Bucket OSS, Options mewakili parameter konfigurasi volume OSS. Parameter berikut dapat dikonfigurasi:

  • bucket: nama Bucket OSS.

  • url: titik akhir Bucket OSS. Anda dapat masuk ke Konsol OSS dan mendapatkan titik akhir di halaman Overview bucket. Untuk informasi lebih lanjut, lihat Wilayah dan Titik Akhir.

  • path: Jalur relatif ke direktori root Bucket OSS. Nilai default: /.

  • Opsi kustom yang ditentukan untuk memasang Bucket OSS. Format: -o *** -o ***. Contoh: -o max_stat_cache_size=0 -o allow_other.

  • akId: ID AccessKey yang digunakan jika Anda menggunakan pasangan AccessKey untuk memberikan izin akses ke OSS.

  • akSecret: Rahasia AccessKey yang digunakan jika Anda menggunakan pasangan AccessKey untuk memberikan izin akses ke OSS.

  • ramRole: Peran RAM yang digunakan untuk memberikan izin. Tentukan parameter ini jika Anda menggunakan Peran RAM untuk memberikan izin.

Pasang volume

Setelah menentukan volume, gunakan 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 adalah nilai dari Volume.N.Name.

Container.N.VolumeMount.N.MountPath

String

/usr/share

Direktori tempat volume N dipasang.

Data di bawah direktori ini akan ditimpa oleh data pada volume. Pastikan nilai ini benar.

Container.N.VolumeMount.N.SubPath

String

/usr/sub

Subdirektori volume. Parameter ini menentukan subdirektori berbeda dari volume yang sama yang dapat dipasang instance ke subdirektori berbeda dari kontainer.

Container.N.VolumeMount.N.ReadOnly

Boolean

false

Menentukan apakah direktori pemasangan hanya-baca. 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 instance kontainer elastis yang sama, atau bahkan dengan instance kontainer elastis lain di host yang sama. Nilai valid:

  • None: Pemasangan volume tidak menerima pemasangan berikutnya yang dipasang ke volume ini atau subdirektorinya.

  • HostToContainer: Pemasangan volume menerima semua pemasangan berikutnya yang dipasang ke volume ini atau subdirektorinya.

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

Nilai default: None.

Catatan

Volume juga dapat dipasang ke init kontainer. Parameter yang diperlukan mirip dengan parameter dalam tabel sebelumnya. Anda hanya perlu mengubah Container menjadi InitContainer.

Deskripsi Konfigurasi (Mode Konsol)

Saat membuat instance kontainer elastis di halaman pembelian Elastic Container Instance, tentukan volume di bagian Konfigurasi Grup Kontainer dan pasang volume tersebut ke kontainer di bagian Konfigurasi Kontainer.

Tentukan volume yang akan dipasang

  1. Di bagian Container Group Configurations dari langkah Pengaturan Dasar wizard Buat Grup Kontainer, klik Advanced Settings.

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

  3. Konfigurasikan parameter untuk volume OSS.

    • Name: nama volume OSS.

    • Bucket: nama Bucket OSS.

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

    oss

Pasang volume

  1. Di bagian Container Configurations dari langkah Pengaturan Dasar wizard Buat Grup Kontainer, pilih kontainer dan klik Pengaturan Lanjutan kontainer tersebut.

  2. Aktifkan Storage dan klik Add.

    Anda hanya dapat menambahkan volume yang telah ditentukan di bagian Konfigurasi Grup Kontainer.

    oss2

Catatan

Jika ingin memasang volume ke beberapa kontainer, pilih lebih banyak kontainer dan ulangi operasi sebelumnya.

Contoh Konfigurasi

  1. Buat Elastic Container Instance A (Instance A) dan pasang volume OSS ke Instance A.

    Contoh berikut menunjukkan parameter yang digunakan untuk membuat Instance A dengan memanggil operasi API CreateContainerGroup. Untuk informasi lebih lanjut, lihat CreateContainerGroup.

    ContainerGroupName=test-oss-a
    # Tentukan volume yang akan dipasang.
    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 Instance A dan tambahkan file ke direktori pemasangan.

    Untuk informasi lebih lanjut, lihat Hubungkan ke instance kontainer elastis.

    oss3

  3. Hapus Instance A.

  4. Buat Elastic Container Instance B (Instance B) dan pasang volume OSS yang sama ke Instance B.

    ContainerGroupName=test-oss-b
    # Tentukan volume yang akan dipasang.
    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 Instance B dan periksa apakah file di direktori pemasangan sama dengan file di direktori pemasangan volume OSS pada Instance A.

    Instance A dan Instance B berbagi volume OSS yang sama, dan volume OSS adalah penyimpanan persisten. Setelah Instance A dihapus, Anda masih dapat menggunakan Instance B untuk mendapatkan file di Bucket OSS yang Anda tambahkan ke Instance A.

    oss4