Sterowniki interfejsu MAGAZYNU kontenera (CSI) w usłudze Azure Kubernetes Service (AKS)

Interfejs Container Storage Interface (CSI) jest standardem umożliwiającym uwidacznianie dowolnych systemów magazynów blokowych i magazynów plików konteneryzowanym obciążeniom na platformie Kubernetes. Dzięki wdrożeniu i użyciu interfejsu CSI usługa Azure Kubernetes Service (AKS) może zapisywać, wdrażać i iterować wtyczki, aby uwidocznić nowe lub ulepszać istniejące systemy magazynowania w rozwiązaniu Kubernetes bez konieczności dotykania podstawowego kodu Kubernetes i oczekiwania na cykle wydania.

Obsługa sterowników magazynu CSI w usłudze AKS umożliwia natywne korzystanie z następujących rozwiązań:

  • Za pomocą usługi Azure Disks można utworzyć zasób Kubernetes DataDisk . Dyski mogą używać usługi Azure Premium Storage, wspieranej przez dyski SSD o wysokiej wydajności lub Azure Standard Storage, wspierane przez zwykłe dyski HDD lub dyski SSD w warstwie Standardowa. W przypadku większości obciążeń produkcyjnych i programistycznych należy użyć usługi Premium Storage. Dyski platformy Azure są instalowane jako ReadWriteOnce i są dostępne tylko dla jednego węzła w usłudze AKS. W przypadku woluminów magazynu, do których można uzyskiwać dostęp jednocześnie przez wiele węzłów, użyj usługi Azure Files.
  • Za pomocą usługi Azure Files można zainstalować udział SMB 3.0/3.1 wspierany przez konto usługi Azure Storage do zasobników. Usługa Azure Files umożliwia udostępnianie danych między wieloma węzłami i zasobnikami. Usługa Azure Files może używać magazynu w warstwie Standardowa platformy Azure wspieranego przez zwykłe dyski HDD lub Azure Premium Storage wspierane przez dyski SSD o wysokiej wydajności.
  • Usługa Azure Blob Storage może służyć do instalowania usługi Blob Storage (lub magazynu obiektów) jako systemu plików w kontenerze lub zasobniku. Korzystanie z usługi Blob Storage umożliwia klastrowi obsługę aplikacji, które współpracują z dużymi zestawami danych bez struktury, takimi jak dane plików dziennika, obrazy lub dokumenty, HPC i inne. Ponadto w przypadku pozyskiwania danych do usługi Azure Data Lake Storage można bezpośrednio zainstalować je i używać w usłudze AKS bez konfigurowania innego tymczasowego systemu plików.

Ważne

Począwszy od platformy Kubernetes w wersji 1.26, trwałe typy woluminów w drzewie kubernetes.io/azure-disk i kubernetes.io/azure-file są przestarzałe i nie będą już obsługiwane. Usunięcie tych sterowników po wycofaniu nie jest planowane, jednak należy przeprowadzić migrację do odpowiednich sterowników CSI disk.csi.azure.com i file.csi.azure.com. Aby zapoznać się z opcjami migracji klas magazynu i uaktualnić klaster do używania sterowników CSI usługi Azure Disks i Azure Files, zobacz Migrowanie z drzewa do sterowników CSI.

Sterowniki w drzewie odnoszą się do sterowników magazynu, które są częścią podstawowego kodu Kubernetes, w przeciwieństwie do sterowników CSI, które są wtyczkami.

Uwaga

Zaleca się usunięcie odpowiedniego obiektu PersistentVolumeClaim zamiast obiektu PersistentVolume podczas usuwania woluminu CSI. Zewnętrzny element aprowizacyjny w sterowniku CSI będzie reagować na usunięcie elementu PersistentVolumeClaim i na podstawie zasad odzyskiwania wystawia wywołanie DeleteVolume względem poleceń sterownika woluminu CSI w celu usunięcia woluminu. Następnie obiekt PersistentVolume zostanie usunięty.

Wymagania wstępne

  • Potrzebny jest interfejs wiersza polecenia platformy Azure w wersji 2.42 lub nowszej, zainstalowany i skonfigurowany. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
  • Jeśli sterownik magazynu CSI typu open source jest zainstalowany w klastrze, odinstaluj go przed włączeniem sterownika CSI usługi Azure Storage.
  • Aby wymusić użycie sterownika Storage Interface (CSI) usługi Azure Policy dla usługiAKS, należy włączyć dodatek Usługi Azure Policy w nowych i istniejących klastrach. W przypadku istniejącego klastra zapoznaj się z artykułem Learn Azure Policy for Kubernetes (Poznaj usługę Azure Policy dla platformy Kubernetes ), aby ją włączyć.

Obsługiwane scenariusze szyfrowania dysków

Sterowniki magazynu CSI obsługują następujące scenariusze:

  • Zaszyfrowane dyski zarządzane przy użyciu kluczy zarządzanych przez klienta przy użyciu usługi Azure Key Vault przechowywanych w innej dzierżawie firmy Microsoft.
  • Zaszyfruj dyski usługi Azure Storage hostujące system operacyjny usługi AKS i dane aplikacji przy użyciu kluczy zarządzanych przez klienta.

Włączanie sterowników magazynu CSI w istniejącym klastrze

Aby włączyć sterowniki magazynu CSI w nowym klastrze, uwzględnij jeden z następujących parametrów w zależności od systemu magazynu:

  • --enable-disk-driver umożliwia włączenie sterownika CSI dysków platformy Azure.
  • --enable-file-driver umożliwia włączenie sterownika CSI usługi Azure Files.
  • --enable-blob-driver umożliwia włączenie sterownika CSI usługi Azure Blob Storage.
  • --enable-snapshot-controller umożliwia włączenie kontrolera migawek.
az aks update -n myAKSCluster -g myResourceGroup --enable-disk-driver --enable-file-driver --enable-blob-driver --enable-snapshot-controller

Wykonanie tej akcji może potrwać kilka minut. Po zakończeniu w danych wyjściowych powinien zostać wyświetlony stan włączenia sterownika w klastrze. Poniższy przykład przypomina sekcję wskazującą wyniki podczas włączania sterownika CSI magazynu obiektów blob:

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

Wyłączanie sterowników magazynu CSI w nowym lub istniejącym klastrze

Aby wyłączyć sterowniki magazynu CSI w nowym klastrze, uwzględnij jeden z następujących parametrów w zależności od systemu magazynu:

  • --disable-disk-driver umożliwia wyłączenie sterownika CSI dysków platformy Azure.
  • --disable-file-driver umożliwia wyłączenie sterownika CSI usługi Azure Files.
  • --disable-blob-driver umożliwia wyłączenie sterownika CSI usługi Azure Blob Storage.
  • --disable-snapshot-controller umożliwia wyłączenie kontrolera migawek.
az aks create -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller 

Aby wyłączyć sterowniki magazynu CSI w istniejącym klastrze, użyj jednego z wymienionych wcześniej parametrów w zależności od systemu magazynu:

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

Migrowanie niestandardowych klas magazynu w drzewie do interfejsu CSI

Jeśli utworzono klasy magazynu sterowników drzewa, te klasy magazynu nadal działają, ponieważ migracja CSI jest włączona po uaktualnieniu klastra do wersji 1.21.x. Jeśli chcesz używać funkcji CSI, musisz przeprowadzić migrację.

Aby zapoznać się z opcjami migracji klas magazynu i uaktualnić klaster do używania sterowników CSI usługi Azure Disks i Azure Files, zobacz Migrowanie z drzewa do sterowników CSI.

Następne kroki