Azure Kubernetes Service'te (AKS) Kapsayıcı Depolama Arabirimi (CSI) sürücüleri

Container Storage Interface (CSI), rastgele blok ve dosya depolama sistemlerini Kubernetes üzerindeki kapsayıcılı iş yüklerinde kullanıma sunmaya yönelik bir standarttır. Azure Kubernetes Service (AKS), CSI'yi benimseyerek ve kullanarak çekirdek Kubernetes koduna dokunmak ve yayın döngülerini beklemek zorunda kalmadan Kubernetes'te yeni depolama sistemlerini kullanıma sunma veya mevcut depolama sistemlerini iyileştirme amacıyla eklentiler yazabilir, dağıtabilir ve yineleyebilir.

AKS'de CSI depolama sürücüsü desteği yerel olarak şunları kullanmanıza olanak tanır:

  • Azure Diskleri bir Kubernetes DataDisk kaynağı oluşturmak için kullanılabilir. Diskler, yüksek performanslı SSD'ler tarafından yedeklenen Azure Premium Depolama veya normal HDD'ler veya Standart SSD'ler tarafından yedeklenen Azure Standart Depolama kullanabilir. Çoğu üretim ve geliştirme iş yükü için Premium Depolama kullanın. Azure Diskleri ReadWriteOnce olarak bağlanır ve AKS'de yalnızca bir düğüm için kullanılabilir. Aynı anda birden çok düğüm tarafından erişilebilen depolama birimleri için Azure Dosyalar kullanın.
  • Azure Dosyalar, Azure depolama hesabı tarafından yedeklenen bir SMB 3.0/3.1 paylaşımını podlara bağlamak için kullanılabilir. Azure Dosyalar ile verileri birden çok düğüm ve pod arasında paylaşabilirsiniz. Azure Dosyalar, normal HDD'ler tarafından yedeklenen Azure Standart depolamayı veya yüksek performanslı SSD'ler tarafından yedeklenen Azure Premium depolamayı kullanabilir.
  • Azure Blob depolama , Blob depolamayı (veya nesne depolamasını) bir kapsayıcıya veya poda dosya sistemi olarak bağlamak için kullanılabilir. Blob depolamayı kullanmak, kümenizin günlük dosyası verileri, görüntüler veya belgeler, HPC ve diğerleri gibi yapılandırılmamış büyük veri kümeleriyle çalışan uygulamaları desteklemesini sağlar. Ayrıca Azure Data Lake storage'a veri alırsanız, başka bir ara dosya sistemi yapılandırmadan doğrudan AKS'ye bağlayabilir ve kullanabilirsiniz.

Önemli

Kubernetes sürüm 1.26'dan başlayarak, ağaç içi kalıcı birim türleri kubernetes.io/azure-disk ve kubernetes.io/azure-file kullanım dışıdır ve artık desteklenmeyecektir. Kullanımdan kaldırıldıktan sonra bu sürücülerin kaldırılması planlanmaz, ancak disk.csi.azure.com ve file.csi.azure.com ilgili CSI sürücülerine geçmeniz gerekir. Depolama sınıflarınızın geçiş seçeneklerini gözden geçirmek ve kümenizi Azure Diskleri ve Azure Dosyalar CSI sürücüleri kullanacak şekilde yükseltmek için bkz. Ağaç içi sürücülerden CSI sürücülerine geçiş.

Ağaç içi sürücüler , eklenti olan CSI sürücülerinin aksine çekirdek Kubernetes kodunun parçası olan depolama sürücülerini ifade eder.

Not

CSI birimi silinirken PersistentVolume nesnesi yerine karşılık gelen PersistentVolumeClaim nesnesinin silinmesi önerilir. CSI sürücüsündeki dış sağlama, PersistentVolumeClaim'in silinmesine tepki verir ve geri kazanma ilkesine göre birimi silmek için CSI birim sürücüsü komutlarında DeleteVolume çağrısını verir. Ardından PersistentVolume nesnesi silinir.

Önkoşullar

  • Azure CLI sürüm 2.42 veya üzerinin yüklü ve yapılandırılmış olması gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
  • Açık kaynak CSI depolama sürücüsü kümenizde yüklüyse, Azure depolama CSI sürücüsünü etkinleştirmeden önce bu sürücüyü kaldırın.
  • AKS ilke tanımıiçin Azure İlkesi zorlamak için Kubernetes kümeleri Kapsayıcı Depolama Arabirimi (CSI) sürücüsünü Depolama Class kullanmalıdır; Azure İlkesi eklentisinin yeni ve mevcut kümelerde etkinleştirilmesi gerekir. Mevcut bir kümeyi etkinleştirmek için Kubernetes için Learn Azure İlkesi'nı gözden geçirin.

Disk şifrelemesi desteklenen senaryolar

CSI depolama sürücüleri aşağıdaki senaryoları destekler:

Mevcut bir kümede CSI depolama sürücülerini etkinleştirme

CSI depolama sürücülerini yeni bir kümede etkinleştirmek için, depolama sistemine bağlı olarak aşağıdaki parametrelerden birini ekleyin:

  • --enable-disk-driverAzure Disks CSI sürücüsünü etkinleştirmenize olanak tanır.
  • --enable-file-driverAzure Dosyalar CSI sürücüsünü etkinleştirmenizi sağlar.
  • --enable-blob-driverAzure Blob depolama CSI sürücüsünü etkinleştirmenize olanak tanır.
  • --enable-snapshot-controlleranlık görüntü denetleyicisini etkinleştirmenize olanak tanır.
az aks update -n myAKSCluster -g myResourceGroup --enable-disk-driver --enable-file-driver --enable-blob-driver --enable-snapshot-controller

Bu eylemin tamamlanması birkaç dakika sürebilir. İşlem tamamlandıktan sonra çıkışta kümenizde sürücüyü etkinleştirme durumunu görmeniz gerekir. Aşağıdaki örnek, Blob depolama CSI sürücüsünü etkinleştirirken sonuçları gösteren bölüme benzer:

"storageProfile": {
    "blobCsiDriver": {
      "enabled": true
    },

Yeni veya mevcut bir kümede CSI depolama sürücülerini devre dışı bırakma

CSI depolama sürücülerini yeni bir kümede devre dışı bırakmak için, depolama sistemine bağlı olarak aşağıdaki parametrelerden birini ekleyin:

az aks create -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller 

Mevcut bir kümede CSI depolama sürücülerini devre dışı bırakmak için, depolama sistemine bağlı olarak daha önce listelenen parametrelerden birini kullanın:

az aks update -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller 

Özel ağaç içi depolama sınıflarını CSI'ye geçirme

Ağaç içi sürücü depolama sınıfları oluşturduysanız, kümenizi 1.21.x sürümüne yükselttikten sonra CSI geçişi açıldığından bu depolama sınıfları çalışmaya devam ediyordur. CSI özelliklerini kullanmak istiyorsanız geçişi gerçekleştirmeniz gerekir.

Depolama sınıflarınızın geçiş seçeneklerini gözden geçirmek ve kümenizi Azure Diskleri ve Azure Dosyalar CSI sürücüleri kullanacak şekilde yükseltmek için bkz. Ağaç içi sürücülerden CSI sürücülerine geçiş.

Sonraki adımlar