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'yı 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ü StorageClass 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:
- Farklı bir Microsoft Entra kiracısında depolanan Azure Key Vault'ları kullanarak müşteri tarafından yönetilen anahtarlarla şifrelenmiş yönetilen diskler.
- AKS işletim sistemini ve uygulama verilerini barındıran Azure Depolama disklerinizi müşteri tarafından yönetilen anahtarlarla şifreleyin.
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-driver
Azure Disks CSI sürücüsünü etkinleştirmenize olanak tanır.--enable-file-driver
Azure Dosyalar CSI sürücüsünü etkinleştirmenizi sağlar.--enable-blob-driver
Azure Blob depolama CSI sürücüsünü etkinleştirmenize olanak tanır.--enable-snapshot-controller
anlık görüntü denetleyicisini etkinleştirmenize olanak tanır.
az aks update --name myAKSCluster --resource-group 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:
--disable-disk-driver
Azure Disks CSI sürücüsünü devre dışı bırakmanıza olanak tanır.--disable-file-driver
Azure Dosyalar CSI sürücüsünü devre dışı bırakmanızı sağlar.--disable-blob-driver
Azure Blob depolama CSI sürücüsünü devre dışı bırakmanızı sağlar.--disable-snapshot-controller
anlık görüntü denetleyicisini devre dışı bırakmanıza olanak tanır.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--disable-disk-driver \
--disable-file-driver \
--disable-blob-driver \
--disable-snapshot-controller \
--generate-ssh-keys
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 \
--name myAKSCluster \
--resource-group 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
- Azure Diskleri için CSI sürücüsünü kullanmak için bkz . CSI sürücüleriyle Azure Diskleri kullanma.
- Azure Dosyalar için CSI sürücüsünü kullanmak için bkz. CSI sürücüleriyle Azure Dosyalar kullanma.
- Azure Blob depolama için CSI sürücüsünü kullanmak için bkz . CSI sürücüleriyle Azure Blob depolamayı kullanma
- Depolama için en iyi yöntemler hakkında daha fazla bilgi için bkz . Azure Kubernetes Service'te depolama ve yedeklemeler için en iyi yöntemler.
- CSI geçişi hakkında daha fazla bilgi için bkz . Kubernetes in-tree to CSI Volume Migration.
Azure Kubernetes Service