Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Storage basics

Son Güncelleme:Oct 06, 2026

ACK'de kalıcı depolamayı yapılandırmak için birimleri, PV'leri, PVC'leri ve StorageClass'ları anlayın.

Birimler

Konteyner dosya sistemleri geçicidir; dosyalar yeniden başlatmada kaybolur. Birimler, pod spesifikasyonunda harici depolamayı tanımlar; Kubernetes çalışma zamanında bunu konteynerlere monte eder.

ACK aşağıdaki birim türlerini destekler:


Tür


Açıklama


Yerel depolama


hostPath ve emptyDir gibi düğüm yerel birimleri. Veriler düğüme bağlıdır ve düğüm çalışmayı durdurursa kaybolur. Yeniden zamanlanabilen durum bilgisi içeren iş yükleri için uygun değildir.


Ağ depolama


Ceph, GlusterFS, NFS ve iSCSI gibi uzak birimler. Veriler uzak bir hizmette bulunur ancak hizmetin yerel olarak monte edilmesi gerekir.


Gizli Dizi ve ConfigMap


Küme nesne verilerini (kimlik bilgileri, yapılandırma) pod'lara dosya olarak sunan özel birimler.


PVC


Depolamayı bağımsız bir nesne olarak soyutlayan PersistentVolumeClaim tarafından desteklenen bir birim. Dayanıklı ve taşınabilir depolama için kullanın.

Kullanım notları:

  • Bir pod, farklı türler dahil olmak üzere birden çok birimi monte edebilir.

  • Bir pod'daki tüm konteynerler monte edilen birimleri paylaşır.

  • Bir birim, pod'un yaşam döngüsünü paylaşır. Pod silindikten sonra verilerin kalıcılığı birim türüne ve yapılandırmasına bağlıdır.

  • Kalıcı veriler için PVC'leri ve PV'leri kullanın.

PV'ler ve PVC'ler

Tüm Kubernetes birimleri kalıcı değildir. Kalıcı depolama için Kubernetes, depolamanın nasıl sağlandığını depolamanın nasıl tüketildiğinden ayıran iki nesne sunar:

  • Bir PV, bir düğüme benzer şekilde küme depolama kaynağıdır: pod'lar düğümleri tüketirken PVC'ler PV'leri tüketir. Bir PV, herhangi bir pod'dan bağımsız kendi yaşam döngüsüne sahiptir.

  • Bir PVC, bir poda benzer şekilde depolama talebidir: bir pod'un bir düğümden CPU ve bellek talep etmesi gibi, bir PVC de bir PV'den kapasite ve erişim modları talep eder.

Geliştiriciler depolama ihtiyaçlarını (PVC) belirtirken yöneticiler sağlamayı (PV) yönetir.

PV örneği

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-example
spec:
  capacity:
    storage: 20Gi # adjust to match the actual cloud disk size
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  csi:
    driver: diskplugin.csi.alibabacloud.com
    volumeHandle: <disk ID>
  volumeMode: Filesystem

PVC örneği

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-example
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
  volumeName: pv-example

Bağlama kuralları

PV'ler ve PVC'ler arasında bire bir ilişki vardır: her PV'ye tam olarak bir PVC bağlanır. Bir PVC bir pod tarafından kullanılmadan önce Kubernetes aşağıdakileri karşılayan bir PV bulmalıdır:


Alan


Gereksinim


volumeMode


PVC'nin birim moduyla eşleşmelidir


accessModes


PVC tarafından talep edilen erişim modlarını içermelidir


storageClassName


PVC'de belirtilmişse PV aynı StorageClass'a sahip olmalıdır


Etiket seçici


PV, PVC'de tanımlanan herhangi bir etiket seçiciyle eşleşmelidir


storage


PV'nin kapasitesi PVC tarafından talep edilen miktar kadar veya ondan daha fazla olmalıdır

storage alanının çalışma şekli:

  • Kubernetes, PV'leri PVC'lere eşlemek ve bağlamak için storage değerini kullanır.

  • Dinamik sağlamada PVC'nin storage değeri PV'nin ve altta yatan kaynağın (bulut diski gibi) kapasitesini belirler.

  • Yeniden boyutlandırmayı destekleyen depolama türleri için PVC'nin storage değeri ölçeklendirmeden sonraki hedef kapasiteyi belirler.

  • storage mantıksal bir kapasite beyanıdır. Gerçek yazılabilir kapasite storage alanına değil altta yatan depolama ortamına bağlıdır.

Birim erişim modları

Bir birimin nasıl monte edilebileceğini tanımlamak için accessModes alanını kullanın:


Erişim modu


Kısaltma


Açıklama


Örnek


ReadWriteOnce


RWO


Tek bir düğüm tarafından okuma-yazma


Alibaba Cloud diski


ReadOnlyMany


ROX


Birden çok düğüm tarafından salt okunur


OSS paketi


ReadWriteMany


RWX


Birden çok düğüm tarafından okuma-yazma


NAS dosya sistemi

Birimler nasıl sağlanır

ACK statik ve dinamik olmak üzere iki sağlama iş akışını destekler.

Statik sağlama

image

Statik sağlamada küme yöneticisi PV'leri önceden oluşturur. Bulut diskleri, NAS dosya sistemleri ve OSS paketleri statik sağlamayı destekler.

  1. Yönetici, pod gereksinimlerine göre depolama kaynaklarını (örneğin bulut diskleri veya NAS dosya sistemleri) tahsis eder.

  2. Yönetici, kapasite ve yapılandırma dahil olmak üzere bu kaynakları tanımlayan PV'ler oluşturur.

  3. Geliştiriciler iş yüklerinin ihtiyaç duyduğu şeyleri beyan eden PVC'ler oluşturur.

  4. Bir pod oluşturulduğunda Kubernetes PVC'yi eşleşen bir PV'ye bağlar.

Dinamik sağlama

image

Dinamik sağlamada bir CSI sağlayıcısı bir PVC oluşturulduğunda PV'leri otomatik olarak oluşturur. Bulut diskleri, NAS dosya sistemleri ve OSS paketleri dinamik sağlamayı destekler.

  1. Yönetici, depolama türünü ve sağlayıcıyı tanımlayan bir StorageClass oluşturur. Örneğin diskplugin.csi.alibabacloud.com bulut disklerini sağlar.

  2. Geliştiriciler bir StorageClass'a başvuran PVC'ler oluşturur. Manuel PV oluşturmaya gerek yoktur.

  3. Bir pod oluşturulduğunda CSI sağlayıcısı StorageClass'ı okur, bir PV ve altta yatan depolama kaynağı oluşturur ve PV'yi PVC'ye bağlar.

Dinamik sağlama üç avantaj sunar:

  • Otomatikleştirilmiş yaşam döngüsü yönetimi: Sağlayıcı PV oluşturma ve silme işlemlerini otomatik olarak yürütür.

  • Azaltılmış operasyonel yük: Yöneticiler tek tek PV'ler yerine StorageClass'ları yönetir.

  • Kapasite tutarlılığı: PV ve altta yatan kaynak her zaman PVC tarafından talep edilen kapasiteyle eşleşir.

StorageClass'lar

StorageClass, dinamik sağlama için kullanılan depolama türünü, sağlayıcıyı ve parametreleri tanımlar. Bir PVC bir StorageClass'a başvurduğunda ve eşleşen bir PV olmadığında Kubernetes sağlayıcıyı tetikleyerek bir PV ve altta yatan depolamayı otomatik olarak oluşturur.

StorageClass örneği

Aşağıdaki StorageClass Alibaba Cloud disklerini sağlar:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: alicloud-disk-topology-alltype
provisioner: diskplugin.csi.alibabacloud.com
parameters:
  type: cloud_auto,cloud_essd,cloud_ssd,cloud_efficiency
  fstype: ext4
  diskTags/a: b
  encrypted: "false"
  performanceLevel: PL1
  provisionedIops: "40000"
  burstingEnabled: "false"
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer

Anahtar parametreler


Parametre


Açıklama


provisioner


Depolama sağlama için kullanılan CSI sürücüsü. Bulut diskleri için diskplugin.csi.alibabacloud.com, NAS için nasplugin.csi.alibabacloud.com veya OSS için ossplugin.csi.alibabacloud.com kullanın.


parameters


Disk türü, dosya sistemi türü ve performans ayarları gibi sürücüye özgü parametreler.


reclaimPolicy


PVC silindiğinde PV'nin ve altta yatan depolamanın başına gelenler. Delete (varsayılan) hem PV'yi hem de bulut diskini kaldırır. Retain ikisini de korur; bunları manuel olarak silmeniz gerekir. Veri güvenliği öncelikliyse Retain olarak ayarlayın.


allowVolumeExpansion


Çevrimiçi disk genişletmeyi etkinleştirmek için true olarak ayarlayın.


volumeBindingMode


PV'nin ne zaman sağlanacağı. Aşağıdaki tabloya bakın.

volumeBindingMode seçimi:


Mod


PV'nin oluşturulma zamanı


Önerilen kullanım


Immediate (varsayılan)


PVC oluşturulduğunda, herhangi bir pod zamanlanmadan önce


Tek alanlı kümeler


WaitForFirstConsumer


PVC'yi kullanan bir pod bir düğüme zamanlandıktan sonra


Çok alanlı kümeler

Çok alanlı kümelerde WaitForFirstConsumer kullanın. Bulut diskleri alanlar arasında monte edilemez. Bir PV A Alanındaysa ancak bir pod B Alanına zamanlanırsa pod başlatılamaz. WaitForFirstConsumer ile sağlayıcı pod zamanlamasını bekler ardından diski pod'un bulunduğu alanda oluşturur.

WaitForFirstConsumer nasıl çalışır:

Bir PVC oluşturulduğunda sağlayıcı bir pod onu tüketene kadar bekler. Zamanlayıcı pod'u bir düğüme yerleştirir ve sonucu (bölge ve düğüm) PVC meta verilerine yazar. Sağlayıcı daha sonra doğru alanda PV'yi ve diski oluşturur.

Varsayılan StorageClass

Varsayılan StorageClass, StorageClass adı belirtilmeyen herhangi bir PVC için otomatik olarak bir PV sağlar.

Önemli

ACK kümeleri varsayılan bir StorageClass içermez. Varsayılan StorageClass, storageClassName olmayan tüm PVC'ler için geçerlidir. Kümeniz birden çok depolama türü kullanıyorsa yanlış türü sağlayabilir. Tüm PVC'ler aynı depolama türünü kullanıyorsa yalnızca bu durumda etkinleştirin.

Varsayılan StorageClass ayarlama:

alicloud-disk-topology-alltype öğesini varsayılan olarak işaretleyin:

kubectl annotate storageclass alicloud-disk-topology-alltype storageclass.kubernetes.io/is-default-class=true

Değişikliği doğrulayın:

kubectl get sc

Beklenen çıktı:

NAME                                        PROVISIONER                       AGE
alicloud-disk-topology-alltype (default)    diskplugin.csi.alibabacloud.com   96m

StorageClass belirtmeden PVC oluşturma:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: disk-pvc
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi

Küme alicloud-disk-topology-alltype kullanarak otomatik olarak bir bulut diski PV'si oluşturur.

kubectl get pvc

Beklenen çıktı:

NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES    STORAGECLASS                      AGE
disk-pvc   Bound    d-bp18pbai447qverm****   20Gi       RWO             alicloud-disk-topology-alltype    49s

Varsayılan StorageClass'ı kaldırma:

kubectl annotate storageclass alicloud-disk-topology-alltype storageclass.kubernetes.io/is-default-class-

ACK tarafından sağlanan StorageClass'lar


StorageClass


Disk türü


Notlar


alicloud-disk-efficiency


Ultra disk


Önceki nesil bulut diski


alicloud-disk-ssd


Standart SSD


Önceki nesil bulut diski


alicloud-disk-essd


ESSD


Performans Seviyesi 1 (PL1) Kurumsal SSD


alicloud-disk-topology-alltype


Çoklu tür


Önce ESSD'yi, ardından standart SSD'yi ve son olarak ultra diski dener. Çok alanlı kümeler için önerilir.


alibabacloud-cnfs-nas


CNFS yönetimli NAS


Container Network File System (CNFS) tarafından yönetilen NAS birimleri oluşturur

alicloud-disk-topology-alltype StorageClass'ı en iyi kullanılabilir disk türünü seçer:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: alicloud-disk-topology-alltype
parameters:
  type: cloud_essd,cloud_ssd,cloud_efficiency
provisioner: diskplugin.csi.alibabacloud.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer

Sonraki adımlar

Tüm depolama türleri ve kılavuzlar için bkz. Depolama.

Belirli depolama türlerini sağlamak için: