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
Buat Bucket OSS.
Masuk ke Konsol OSS.
Buat Bucket OSS.
Untuk informasi lebih lanjut, lihat Membuat Bucket.
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 |
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:
|
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:
Nilai default: None. |
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
Di bagian Container Group Configurations dari langkah Pengaturan Dasar wizard Buat Grup Kontainer, klik Advanced Settings.
Di bagian Storage, klik tab OSS Persistence dan klik Add.
Konfigurasikan parameter untuk volume OSS.
Name: nama volume OSS.
Bucket: nama Bucket OSS.
RAM Role: Peran RAM yang memiliki izin untuk mengakses OSS.

Pasang volume
Di bagian Container Configurations dari langkah Pengaturan Dasar wizard Buat Grup Kontainer, pilih kontainer dan klik Pengaturan Lanjutan kontainer tersebut.
Aktifkan Storage dan klik Add.
Anda hanya dapat menambahkan volume yang telah ditentukan di bagian Konfigurasi Grup Kontainer.

Jika ingin memasang volume ke beberapa kontainer, pilih lebih banyak kontainer dan ulangi operasi sebelumnya.
Contoh Konfigurasi
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-aHubungkan ke Instance A dan tambahkan file ke direktori pemasangan.
Untuk informasi lebih lanjut, lihat Hubungkan ke instance kontainer elastis.

Hapus Instance A.
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-bHubungkan 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.
