Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:ACK'de FlexVolume birimleri için çevrimiçi ölçeklendirme yapın

Son Güncelleme:Oct 06, 2026

İş yükleri büyüdükçe pod'lara monte edilen disk birimlerinde alan yetersizliği oluşabilir. Container Service for Kubernetes (ACK), Kubernetes 1.16 ve sonraki sürümlerde FlexVolume kullanarak çevrimiçi disk birimi genişletmeyi destekler; çoğu durumda pod'u yeniden başlatmanız gerekmez. Bu konu, hem pod Çalışır durumdayken hem de pod'u yeniden başlattıktan sonra yapılan genişletme senaryolarını kapsar.

Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Kümeniz için bir kubeconfig dosyası ve buna bağlanacak şekilde yapılandırılmış kubectl. Bkz. kubectl kullanarak ACK kümesine bağlanma.

  • Bir kalıcı birim talebi (PVC) aracılığıyla monte edilmiş ve storageClassName parametresini içeren dinamik olarak sağlanan bir kalıcı birim (PV).

  • v1.14.8.109-5f88ade-aliyun veya sonraki sürümde FlexVolume eklentisi. Yükseltmek için ACK konsolundaki küme bileşenleri sayfasını kontrol edin.

Sınırlamalar

Bir disk birimini genişletmeden önce aşağıdaki kısıtlamaları gözden geçirin:

Kısıtlama Ayrıntılar
Yalnızca dinamik olarak sağlanan PV'ler Yalnızca StorageClass ile dinamik olarak sağlanan PV'ler çevrimiçi olarak genişletilebilir. Satır içi birimler ve temel disklerle desteklenen birimler, hizmet kesintisi olmadan genişletilemez.
Maksimum disk boyutu 2.000 GiB veya daha küçük boyuttaki diskler, hizmet kesintisi olmadan genişletilebilir.
Pod Çalışır durumunda olmalıdır Genişletme sırasında pod Çalışır durumunda kalmalıdır. Çalışır durumda değilse bunun yerine yeniden başlatmaya dayalı yöntemi kullanın.

StorageClass gereksinimi

StorageClass içinde allowVolumeExpansion: true ayarı bulunmalıdır. ACK tarafından oluşturulan StorageClass'lar bu ayarı otomatik olarak uygular. Manuel olarak oluşturulan StorageClass'lar için bunu açıkça ayarlayın:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: alicloud-disk-available
provisioner: alicloud/disk
allowVolumeExpansion: true

Verilerinizi yedekleyin

Genişletme işlemi sırasında oluşabilecek hatalardan kaynaklanan veri kaybına karşı korunmak için genişletmeden önce bir disk anlık görüntüsü oluşturun.

RAM rolüne ResizeDisk izni verin

Bir disk birimini genişletmeden önce kümenin Master RAM rolüne ResizeDisk iznini verin. Bu izin verilmediğinde genişletme isteği bir yetkilendirme hatası döndürür.

  1. ACK konsolunda oturum açın.

  2. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.

  3. Kümeyi bulun ve Actions sütunundaki Details seçeneğine tıklayın.

  4. Sol gezinme bölmesinde Cluster Information seçeneğine tıklayın.

  5. Cluster Resources sekmesine tıklayın, ardından Master RAM Role yanındaki köprüye tıklayın.

  6. RAM konsolunda role ResizeDisk iznini verin. Ayrıntılar için bkz. Özel ilkenin belgesini ve açıklamasını değiştirme.

    resizedisk

FlexVolume kullanan ACK özel kümeleri veya ACK yönetilen kümeleri için yukarıdaki 1-4. adımları izleyin ve Master RAM Role yanındaki köprüye tıklayın.

Pod'u yeniden başlatmadan disk birimini genişletin

Pod Çalışır durumdayken bu yöntemi kullanın. Disk, hizmet kesintisi olmadan çevrimiçi olarak yeniden boyutlandırılır.

Mevcut durumu kontrol edin

  1. Pod'un Çalışır durumunda olduğunu doğrulayın:

    kubectl get pod

    Beklenen çıktı:

    web-0   1/1   Running   0   42s
  2. Pod içindeki mevcut disk kullanımını kontrol edin:

    kubectl exec web-0 -- df /data

    Beklenen çıktı:

    Filesystem   1K-blocks    Used  Available  Use%  Mounted on
    /dev/vdb      20511312   45080   20449848    1%  /data

    Mevcut boyutu not edin: 20 GiB.

  3. PVC'nin bağlı olduğunu onaylayın ve mevcut kapasitesini kontrol edin:

    kubectl get pvc

    Beklenen çıktı:

    NAME             STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS              AGE
    disk-ssd-web-0   Bound    d-wz9hpoifm43yn9zie6gl   20Gi       RWO            alicloud-disk-available   57s

Birimi genişletin

  1. Yeni depolama boyutunu istemek için PVC'yi yamalayın:

    kubectl patch pvc disk-ssd-web-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'

    Genişletmenin tamamlanması için yaklaşık bir dakika bekleyin.

Genişletmeyi doğrulayın

  1. PV'nin 30 GiB olarak güncellendiğini onaylayın:

    kubectl get pv d-wz9hpoifm43yn9zie6gl

    Beklenen çıktı:

    NAME                     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                    STORAGECLASS              REASON   AGE
    d-wz9hpoifm43yn9zie6gl   30Gi       RWO            Delete           Bound    default/disk-ssd-web-0   alicloud-disk-available            5m23s
  2. PVC'nin yeni kapasiteyi yansıttığını onaylayın:

    kubectl get pvc

    Beklenen çıktı:

    NAME             STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS              AGE
    disk-ssd-web-0   Bound    d-wz9hpoifm43yn9zie6gl   30Gi       RWO            alicloud-disk-available   5m10s
  3. Yeni disk boyutunun pod içinde görünür olduğunu doğrulayın:

    kubectl exec web-0 -- df /data

    Beklenen çıktı:

    Filesystem   1K-blocks    Used  Available  Use%  Mounted on
    /dev/vdb      30832548   45036   30771128    1%  /data

    Disk birimi, kesinti yaşanmadan 20 GiB'ten 30 GiB'e genişletilmiştir.

Disk birimini genişletmek için pod'u yeniden başlatın

Dosya sistemi, pod yeniden başlatılana kadar yeni boyutu yansıtmadığında veya pod Çalışır durumda olmadığında bu yöntemi kullanın.

Mevcut durumu kontrol edin

  1. Pod durumunu doğrulayın ve mevcut disk boyutunu not edin:

    kubectl get pod

    Beklenen çıktı:

    web-0   1/1   Running   0   42s
  2. Pod içindeki mevcut disk kullanımını kontrol edin:

    kubectl exec web-0 -- df /data

    Beklenen çıktı:

    Filesystem   1K-blocks    Used  Available  Use%  Mounted on
    /dev/vdb      20511312   45080   20449848    1%  /data
  3. PVC ve PV'nin bağlı olduğunu onaylayın:

    kubectl get pvc
    kubectl get pv

Pod'un yeniden zamanlanmasını önleyin

  1. PV'nin alan etiketini bulun:

    kubectl get pv d-wz9g2j5qbo37r2lamkg4 -oyaml | grep failure-domain.beta.kubernetes.io/zone

    Beklenen çıktı:

    failure-domain.beta.kubernetes.io/zone: cn-shenzhen-e
  2. Pod'un zamanlanamaması için alan etiketini geçersiz bir değerle değiştirin:

    kubectl label pv d-wz9g2j5qbo37r2lamkg4 failure-domain.beta.kubernetes.io/zone=cn-shenzhen-e-nozone --overwrite

    Beklenen çıktı:

    persistentvolume/d-wz9g2j5qbo37r2lamkg4 labeled
  3. Yeniden başlatmayı tetiklemek için pod'u silin. Alan etiketi artık hiçbir düğümle eşleşmediğinden pod Beklemede durumuna geçer:

    kubectl delete pod web-0

    Pod'un Beklemede durumunda olduğunu doğrulayın:

    kubectl get pod

    Beklenen çıktı:

    web-0   0/1   Pending   0   27s

Birimi genişletin

  1. Yeni depolama boyutunu istemek için PVC'yi yamalayın:

    kubectl patch pvc disk-ssd-web-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'

Pod'u geri yükleyin

  1. Pod'un tekrar zamanlanabilmesi için orijinal alan etiketini geri yükleyin:

    kubectl label pv d-wz9g2j5qbo37r2lamkg4 failure-domain.beta.kubernetes.io/zone=cn-shenzhen-e --overwrite

    Beklenen çıktı:

    persistentvolume/d-wz9g2j5qbo37r2lamkg4 labeled

    Pod'un yeniden başlaması ve genişletmenin tamamlanması için yaklaşık bir dakika bekleyin.

Genişletmeyi doğrulayın

  1. Pod'un Çalışır durumunda olduğunu onaylayın:

    kubectl get pod

    Beklenen çıktı:

    web-0   1/1   Running   0   3m23s
  2. PVC'nin yeni kapasiteyi yansıttığını onaylayın:

    kubectl get pvc

    Beklenen çıktı:

    disk-ssd-web-0   Bound   d-wz9g2j5qbo37r2lamkg4   30Gi   RWO   alicloud-disk-available   17m
  3. PV'nin yeni kapasiteyi yansıttığını onaylayın:

    kubectl get pv d-wz9g2j5qbo37r2lamkg4

    Beklenen çıktı:

    d-wz9g2j5qbo37r2lamkg4   30Gi   RWO   Delete   Bound   default/disk-ssd-web-0   alicloud-disk-available   17m
  4. Yeni disk boyutunun pod içinde görünür olduğunu doğrulayın:

    kubectl exec web-0 -- df /data

    Beklenen çıktı:

    /dev/vdb   30832548   45036   30771128   1%   /data

    Disk birimi 20 GiB'ten 30 GiB'e genişletilmiştir.

İlgili konular