CSI-stuurprogramma's (Container Storage Interface) in Azure Kubernetes Service (AKS)
De Container Storage Interface (CSI), een standaard voor het beschikbaar maken van willekeurige blok- en opslagsystemen in workloads in containers op Kubernetes. Door CSI te gebruiken en te gebruiken, kan AKS (Azure Kubernetes Service) invoegtoepassingen schrijven, implementeren en herhalen om nieuwe of verbeterde bestaande opslagsystemen in Kubernetes beschikbaar te maken of te verbeteren zonder de kubernetes-kerncode aan te raken en te wachten op de releasecycli.
Met de ondersteuning voor CSI-opslagstuurprogramma's in AKS kunt u het volgende systeemeigen gebruiken:
- Azure Disks kan worden gebruikt om een Kubernetes DataDisk-resource te maken. Schijven kunnen Gebruikmaken van Azure Premium Storage, ondersteund door SSD's met hoge prestaties of Azure Standard Storage, ondersteund door reguliere HDD's of Standard-SSD's. Gebruik Premium Storage voor de meeste productie- en ontwikkelingsworkloads. Azure Disks worden gekoppeld als ReadWriteOnce en zijn alleen beschikbaar voor één knooppunt in AKS. Gebruik Azure Files voor opslagvolumes die tegelijkertijd door meerdere knooppunten kunnen worden geopend.
- Azure Files kan worden gebruikt voor het koppelen van een SMB 3.0/3.1-share die wordt ondersteund door een Azure-opslagaccount aan pods. Met Azure Files kunt u gegevens delen over meerdere knooppunten en pods. Azure Files kan Gebruikmaken van Azure Standard-opslag die wordt ondersteund door reguliere HDD's of Azure Premium-opslag die wordt ondersteund door krachtige SSD's.
- Azure Blob Storage kan worden gebruikt om Blob Storage (of objectopslag) als bestandssysteem te koppelen aan een container of pod. Met Blob Storage kan uw cluster toepassingen ondersteunen die werken met grote ongestructureerde gegevenssets, zoals logboekbestandsgegevens, afbeeldingen of documenten, HPC en andere. Als u bovendien gegevens opneemt in Azure Data Lake Storage, kunt u deze rechtstreeks koppelen en gebruiken in AKS zonder een ander tussentijds bestandssysteem te configureren.
Belangrijk
Vanaf Kubernetes versie 1.26 worden permanente volumetypen in de structuur kubernetes.io/azure-disk en kubernetes.io/azure-file afgeschaft en worden deze niet meer ondersteund. Het verwijderen van deze stuurprogramma's na hun afschaffing is niet gepland, maar u moet migreren naar de bijbehorende CSI-stuurprogramma's disk.csi.azure.com en file.csi.azure.com. Als u de migratieopties voor uw opslagklassen wilt bekijken en uw cluster wilt upgraden om Azure Disks en Azure Files CSI-stuurprogramma's te gebruiken, raadpleegt u Migrate van in-tree naar CSI-stuurprogramma's.
Stuurprogramma's in de structuur verwijzen naar de opslagstuurprogramma's die deel uitmaken van de kubernetes-kerncode in plaats van de CSI-stuurprogramma's, die invoegtoepassingen zijn.
Notitie
Het wordt aanbevolen om het bijbehorende PersistentVolumeClaim-object te verwijderen in plaats van het PersistentVolume-object bij het verwijderen van een CSI-volume. De externe inrichting in het CSI-stuurprogramma reageert op het verwijderen van de PersistentVolumeClaim en op basis van het herstelbeleid geeft het de DeleteVolume-aanroep uit tegen de opdrachten van het CSI-volumestuurprogramma om het volume te verwijderen. Het PersistentVolume-object wordt vervolgens verwijderd.
Vereisten
- U moet Azure CLI versie 2.42 of hoger hebben geïnstalleerd en geconfigureerd. Voer
az --version
uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren. - Als het opensource-CSI-opslagstuurprogramma is geïnstalleerd op uw cluster, verwijdert u het voordat u het CSI-stuurprogramma voor Azure Storage inschakelt.
- Als u de Azure Policy for AKS-beleidsdefinitie Kubernetes-clusters wilt afdwingen, moet het stuurprogramma StorageClass (Container Storage Interface) worden gebruikt, moet de Azure Policy-invoegtoepassing zijn ingeschakeld voor nieuwe en bestaande clusters. Raadpleeg het Learn Azure Policy voor Kubernetes om dit in te schakelen voor een bestaand cluster.
Ondersteunde scenario's voor schijfversleuteling
CSI-opslagstuurprogramma's ondersteunen de volgende scenario's:
- Versleutelde beheerde schijven met door de klant beheerde sleutels met behulp van Azure Key Vaults die zijn opgeslagen in een andere Microsoft Entra-tenant.
- Versleutel uw Azure Storage-schijven die als host fungeren voor het AKS-besturingssysteem en toepassingsgegevens met door de klant beheerde sleutels.
CSI-opslagstuurprogramma's inschakelen op een bestaand cluster
Als u CSI-opslagstuurprogramma's wilt inschakelen op een nieuw cluster, neemt u een van de volgende parameters op, afhankelijk van het opslagsysteem:
--enable-disk-driver
hiermee kunt u het CSI-stuurprogramma van Azure Disks inschakelen.--enable-file-driver
hiermee kunt u het CSI-stuurprogramma van Azure Files inschakelen.--enable-blob-driver
hiermee kunt u het CSI-stuurprogramma voor Azure Blob Storage inschakelen.--enable-snapshot-controller
hiermee kunt u de momentopnamecontroller inschakelen.
az aks update --name myAKSCluster --resource-group myResourceGroup --enable-disk-driver --enable-file-driver --enable-blob-driver --enable-snapshot-controller
Het kan enkele minuten duren voordat deze actie is voltooid. Zodra dit is voltooid, ziet u in de uitvoer de status van het inschakelen van het stuurprogramma in uw cluster. Het volgende voorbeeld lijkt op de sectie die de resultaten aangeeft bij het inschakelen van het CSI-stuurprogramma voor Blob Storage:
"storageProfile": {
"blobCsiDriver": {
"enabled": true
},
CSI-opslagstuurprogramma's uitschakelen op een nieuw of bestaand cluster
Als u CSI-opslagstuurprogramma's op een nieuw cluster wilt uitschakelen, neemt u een van de volgende parameters op, afhankelijk van het opslagsysteem:
--disable-disk-driver
hiermee kunt u het CSI-stuurprogramma voor Azure Disks uitschakelen.--disable-file-driver
hiermee kunt u het CSI-stuurprogramma van Azure Files uitschakelen.--disable-blob-driver
hiermee kunt u het CSI-stuurprogramma voor Azure Blob Storage uitschakelen.--disable-snapshot-controller
hiermee kunt u de momentopnamecontroller uitschakelen.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--disable-disk-driver \
--disable-file-driver \
--disable-blob-driver \
--disable-snapshot-controller \
--generate-ssh-keys
Als u CSI-opslagstuurprogramma's op een bestaand cluster wilt uitschakelen, gebruikt u een van de eerder vermelde parameters, afhankelijk van het opslagsysteem:
az aks update \
--name myAKSCluster \
--resource-group myResourceGroup \
--disable-disk-driver \
--disable-file-driver \
--disable-blob-driver \
--disable-snapshot-controller
Aangepaste in-tree-opslagklassen migreren naar CSI
Als u opslagklassen voor stuurprogramma's in de structuur hebt gemaakt, blijven deze opslagklassen werken omdat CSI-migratie is ingeschakeld na het upgraden van uw cluster naar 1.21.x. Als u CSI-functies wilt gebruiken, moet u de migratie uitvoeren.
Als u de migratieopties voor uw opslagklassen wilt bekijken en uw cluster wilt upgraden om Azure Disks en Azure Files CSI-stuurprogramma's te gebruiken, raadpleegt u Migrate van in-tree naar CSI-stuurprogramma's.
Volgende stappen
- Als u het CSI-stuurprogramma voor Azure Disks wilt gebruiken, raadpleegt u Azure Disks gebruiken met CSI-stuurprogramma's.
- Als u het CSI-stuurprogramma voor Azure Files wilt gebruiken, raadpleegt u Azure Files gebruiken met CSI-stuurprogramma's.
- Als u het CSI-stuurprogramma voor Azure Blob Storage wilt gebruiken, raadpleegt u Azure Blob Storage gebruiken met CSI-stuurprogramma's
- Zie Best practices voor opslag en back-ups in Azure Kubernetes Service voor meer informatie over aanbevolen procedures voor opslag.
- Zie Kubernetes in-tree naar CSI-volumemigratie voor meer informatie over CSI-migratie.
Azure Kubernetes Service