Tüm Ürünler
Search
Belge Merkezi

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

Son Güncelleme:Oct 06, 2026

Object Storage Service (OSS); resimler, ses dosyaları ve video dosyaları gibi yapılandırılmamış veriler için büyük ölçekli, güvenli, maliyet etkin ve son derece güvenilir depolama alanı sağlar. Bu konuda, bir OSS biriminin elastik konteyner örneğine nasıl bağlanacağı açıklanmaktadır.

Kullanım notları

  • OSS kullanıma göre faturalandırılır ve kullandıkça öde, kaynak paketleri ile depolama kapasitesi birimleri (SCU) gibi faturalandırma yöntemlerini destekler. Daha fazla bilgi için bkz. OSS faturalandırmasına genel bakış.

  • OSS paylaşımlı depolama sunar. Tek bir OSS paketi birden fazla örneğe bağlanabilir.

  • Tek bir bağlama dizininde 1.000'den fazla dosya depolamayın.

    Aşırı sayıda dosya, OSS istemcisinin büyük miktarda bellek tüketmesine neden olabilir; bu durum örnek için OOM (bellek yetersizliği) olayına yol açabilir.

Ön koşullar

  1. Bir OSS paketi oluşturun.

    1. OSS konsolu üzerinde oturum açın.

    2. Bir OSS paketi oluşturun.

      Daha fazla bilgi için bkz. Paket oluşturma.

  2. Bir yetkilendirme yöntemi seçin.

    • Yetkilendirme için RAM rolü kullanın (Önerilir).

      Bir RAM rolü oluşturun ve bu role izinler atayın. Daha fazla bilgi için bkz. RAM rolü oluşturma ve RAM rolüne izin atama.

      Rolü oluştururken Trusted Entity Type değerini Alibaba Cloud Service, Role Type değerini Normal Service Role ve Trusted Service değerini Elastic Compute Service (ECS) olarak ayarlayın. AliyunOSSFullAccess ilkesini role ekleyin.

    • Yetkilendirme için AccessKey çifti kullanın (Önerilmez).

      Bir AccessKey ID ve AccessKey Secret edinin. Daha fazla bilgi için bkz. AccessKey çifti edinme.

Yapılandırma (API)

CreateContainerGroup API işlemini çağırarak bir elastik konteyner örneği oluştururken Volume ile ilgili parametreleri kullanarak birimleri belirtebilir ve ardından Container.VolumeMount ile ilgili parametreleri kullanarak bu birimleri konteynerlere bağlayabilirsiniz. İlgili parametreler aşağıda açıklanmıştır. Daha fazla bilgi için bkz. CreateContainerGroup.

Birim bildirme

Volume ile ilgili parametreleri kullanarak birimleri belirtirken önce birimlerin türlerini ve adlarını belirlemeniz gerekir. Ardından, Volume.N.Type parametresinin değerine bağlı olarak diğer Volume ile ilgili parametreleri yapılandırmanız gerekir.

Parametre

Tür

Örnek

Açıklama

Volume.N.Name

String

oss-demo

Birim adı.

Volume.N.Type

String

FlexVolume

FlexVolume eklentisi kullanılarak bağlanan bir birim oluşturmak için FlexVolume olarak ayarlayın.

Volume.N.FlexVolume.Driver

String

alicloud/oss

FlexVolume eklenti sürücüsü. Bir OSS birimi bağlamak için alicloud/oss olarak ayarlayın.

Volume.N.FlexVolume.Options

String

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

FlexVolume nesnesi için seçeneklerden oluşan bir JSON dizesi.

FlexVolume kullanarak bir OSS birimi bağlarken Options parametresi OSS biriminin yapılandırmasını belirtir. Aşağıdaki parametreler desteklenir:

  • bucket: OSS paketi adı.

  • url: OSS paketi uç noktası. Uç noktayı, OSS konsolundaki hedef paketin Overview sayfasından alabilirsiniz. Daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

  • path: Paket kök dizinine göre dizin yolu. Varsayılan değer: /.

  • otherOpts: Bir OSS birimi bağlarken belirtebileceğiniz özel parametreler. Biçim -o -o şeklindedir. Örnek: -o max_stat_cache_size=0 -o allow_other.

  • akId: Yetkilendirme için AccessKey çifti kullanıyorsanız AccessKey ID.

  • akSecret: Yetkilendirme için AccessKey çifti kullanıyorsanız AccessKey Secret.

  • ramRole: Yetkilendirme için RAM rolü kullanıyorsanız RAM rolü adı.

Birimleri bağlama

Birimleri belirttikten sonra VolumeMount ile ilgili parametreleri kullanarak bu birimleri konteynerlere bağlayabilirsiniz.

Parametre

Tür

Örnek

Açıklama

Container.N.VolumeMount.N.Name

String

test-volume

N numaralı konteynere bağlanacak N numaralı birimin adı. Bu değer, Volume.N.Name değeridir.

Container.N.VolumeMount.N.MountPath

String

/usr/share

Birimin konteyner içinde bağlanacağı yol. Bu dizindeki veriler, birimdeki veriler tarafından gizlenir.

Container.N.VolumeMount.N.SubPath

String

/usr/sub

Birim alt dizini. Bu parametre, örneğin aynı birimin farklı alt dizinlerini konteynerlerin farklı alt dizinlerine bağlamasını sağlar.

Container.N.VolumeMount.N.ReadOnly

Boolean

false

Bağlama dizininin salt okunur olup olmadığını belirtir. Varsayılan değer: false.

Container.N.VolumeMount.N.MountPropagation

String

None

N numaralı birimin bağlama yayılımı ayarı. Bağlama yayılımı, bir konteynere bağlanan birimlerin aynı elastik konteyner örneğindeki diğer konteynerlerle veya hatta aynı ana bilgisayardaki diğer elastik konteyner örnekleriyle paylaşılmasını sağlar. Geçerli değerler:

  • None: Birim bağlaması, bu birime veya alt dizinlerine yapılan sonraki bağlamaları almaz.

  • HostToContainer: Birim bağlaması, bu birime veya alt dizinlerine yapılan tüm sonraki bağlamaları alır.

  • Bidirectional: Bu değer, HostToContainer ile benzer etkiye sahiptir. Birim bağlaması, bu birime veya alt dizinlerine yapılan tüm sonraki bağlamaları alır. Ayrıca, N numaralı konteyner tarafından oluşturulan tüm birim bağlamaları ana bilgisayara ve aynı birimi kullanan tüm elastik konteyner örneklerinin tüm konteynerlerine geri yayılır.

Varsayılan değer: None.

Not

Birimler başlatma konteynerlerine de bağlanabilir. Gerekli parametreler önceki tabloda yer alan parametrelere benzerdir. Yalnızca Container ifadesini InitContainer olarak değiştirmeniz yeterlidir.

Yapılandırma (Konsol)

Elastik Konteyner Örneği satın alma sayfasında bir elastik konteyner örneği oluştururken Container Group Configurations bölümünde birimleri belirtebilir ve ardından Container Configurations bölümünde bu birimleri konteynerlere bağlayabilirsiniz.

Birim bildirme

  1. Container Group Configurations bölümünde Advanced Settings seçeneğini genişletin.

  2. Storage bölümünde, OSS Persistence sekmesinde Add düğmesini tıklayın.

  3. OSS birimi parametrelerini yapılandırın.

    • Name: OSS birimi adı.

    • Bucket: OSS paketi adı.

    • RAM Role: OSS'e erişim izni olan RAM rolü.

Birim bağlama

  1. Container Configurations bölümünde bir konteyner seçin ve gelişmiş ayarlarını genişletin.

  2. Storage anahtarını açın ve Add düğmesini tıklayın.

    Kullanılabilir birimler, konteyner grubu yapılandırmasında bildirdiğiniz birimlerdir.

    Depolama yapılandırma satırında Volume değerini bildirilen bir birim olarak ayarlayın (örneğin oss-demo), OSS Persistence gibi bir depolama türü seçin ve Mount Path in Container alanına bir yol girin (örneğin /data). İsteğe bağlı olarak test gibi bir Sub Path belirtin ve Read-only onay kutusunu işaretleyin.

Not

Birimleri birden fazla konteynere bağlamak istiyorsanız daha fazla konteyner seçin ve önceki adımları tekrarlayın.

Yapılandırma örneği

  1. Bir elastik konteyner örneği (Örnek A) oluşturun ve buna bir OSS birimi bağlayın.

    Aşağıdaki örnekte, Örnek A'yı oluşturmak için CreateContainerGroup işlemi çağrılırken kullanılan parametreler gösterilmektedir. Daha fazla bilgi için bkz. CreateContainerGroup.

    ContainerGroupName=test-oss-a
    # Declare the 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-***"}
    # Mount the volume to the container
    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. Örnek A'ya bağlanın ve bağlama dizininde bir dosya oluşturun.

    Bir elastik konteyner örneğine nasıl bağlanılacağı hakkında bilgi için bkz. Workbench kullanarak ECI örneğine bağlanma.

    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. Örnek A'yı silin.

  4. Başka bir elastik konteyner örneği (Örnek B) oluşturun ve aynı OSS birimini buna bağlayın.

    ContainerGroupName=test-oss-b
    # Declare the 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-***"}
    # Mount the volume to the container
    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. Örnek B'ye bağlanın ve bağlama dizinindeki dosyayı kontrol edin.

    OSS kalıcı depolama sağladığından Örnek A silindikten sonra bile Örnek B'den Örnek A tarafından yazılan dosyaya erişebilirsiniz.

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