CSI-drivrutiner (Container Storage Interface) i Azure Kubernetes Service (AKS)

Container Storage Interface (CSI) är en standard för att exponera godtyckliga block- och fillagringssystem för containerbaserade arbetsbelastningar på Kubernetes. Genom att implementera och använda CSI kan Azure Kubernetes Service (AKS) skriva, distribuera och iterera plugin-program för att exponera nya eller förbättra befintliga lagringssystem i Kubernetes utan att behöva röra kubernetes-kärnkoden och vänta på dess lanseringscykler.

Med stöd för CSI-lagringsdrivrutinen i AKS kan du använda:

  • Azure Disks kan användas för att skapa en Kubernetes DataDisk-resurs . Diskar kan använda Azure Premium Storage, som backas upp av högpresterande SSD:er eller Azure Standard Storage, som backas upp av vanliga hårddiskar eller standard-SSD:er. För de flesta produktions- och utvecklingsarbetsbelastningar använder du Premium Storage. Azure-diskar monteras som ReadWriteOnce och är endast tillgängliga för en nod i AKS. För lagringsvolymer som kan nås av flera noder samtidigt använder du Azure Files.
  • Azure Files kan användas för att montera en SMB 3.0/3.1-resurs som backas upp av ett Azure-lagringskonto till poddar. Med Azure Files kan du dela data över flera noder och poddar. Azure Files kan använda Azure Standard Storage som backas upp av vanliga hårddiskar eller Azure Premium-lagring som backas upp av högpresterande SSD:er.
  • Azure Blob Storage kan användas för att montera Blob Storage (eller objektlagring) som ett filsystem i en container eller podd. Med Blob Storage kan klustret stödja program som fungerar med stora ostrukturerade datamängder som loggfilsdata, bilder eller dokument, HPC och andra. Om du matar in data i Azure Data Lake Storage kan du dessutom montera och använda dem direkt i AKS utan att konfigurera ett annat interimfilsystem.

Viktigt!

Från och med Kubernetes version 1.26 är beständiga volymtyper i träd kubernetes.io/azure-disk och kubernetes.io/azure-file inaktuella och stöds inte längre. Det är inte planerat att ta bort dessa drivrutiner efter utfasningen, men du bör migrera till motsvarande CSI-drivrutiner disk.csi.azure.com och file.csi.azure.com. Information om hur du granskar migreringsalternativen för dina lagringsklasser och uppgraderar klustret för att använda Azure Disks- och Azure Files CSI-drivrutiner finns i Migrera från träd till CSI-drivrutiner.

Drivrutiner i träd refererar till de lagringsdrivrutiner som ingår i kubernetes-kärnkoden i stället för CSI-drivrutinerna, som är plugin-program.

Kommentar

Vi rekommenderar att du tar bort motsvarande PersistentVolumeClaim-objekt i stället för PersistentVolume-objektet när du tar bort en CSI-volym. Den externa etableraren i CSI-drivrutinen reagerar på borttagningen av PersistentVolumeClaim och baserat på dess återtagningsprincip utfärdar den DeleteVolume-anropet mot CSI-volymdrivrutinskommandona för att ta bort volymen. Objektet PersistentVolume tas sedan bort.

Förutsättningar

  • Du behöver Azure CLI version 2.42 eller senare installerad och konfigurerad. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
  • Om CSI-lagringsdrivrutinen med öppen källkod är installerad i klustret avinstallerar du den innan du aktiverar CSI-drivrutinen för Azure Storage.
  • För att framtvinga Azure Policy for AKS-principdefinitionen måste Kubernetes-kluster använda CSI-drivrutinen StorageClass (Container Storage Interface) och Azure Policy-tillägget måste vara aktiverat på nya och befintliga kluster. För ett befintligt kluster läser du Learn Azure Policy for Kubernetes för att aktivera det.

Scenarier som stöds av diskkryptering

CSI-lagringsdrivrutiner stöder följande scenarier:

Aktivera CSI-lagringsdrivrutiner i ett befintligt kluster

Om du vill aktivera CSI-lagringsdrivrutiner i ett nytt kluster inkluderar du någon av följande parametrar beroende på lagringssystemet:

  • --enable-disk-drivergör att du kan aktivera CSI-drivrutinen för Azure Disks.
  • --enable-file-driver gör att du kan aktivera Azure Files CSI-drivrutinen.
  • --enable-blob-drivergör att du kan aktivera CSI-drivrutinen för Azure Blob Storage.
  • --enable-snapshot-controllergör att du kan aktivera ögonblicksbildskontrollanten.
az aks update -n myAKSCluster -g myResourceGroup --enable-disk-driver --enable-file-driver --enable-blob-driver --enable-snapshot-controller

Det kan ta flera minuter att slutföra den här åtgärden. När den är klar bör du i utdata se statusen för att aktivera drivrutinen i klustret. Följande exempel liknar avsnittet som anger resultatet när du aktiverar CSI-drivrutinen för Blob Storage:

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

Inaktivera CSI-lagringsdrivrutiner i ett nytt eller befintligt kluster

Om du vill inaktivera CSI-lagringsdrivrutiner i ett nytt kluster tar du med någon av följande parametrar beroende på lagringssystemet:

  • --disable-disk-drivergör att du kan inaktivera CSI-drivrutinen för Azure Disks.
  • --disable-file-drivergör att du kan inaktivera CSI-drivrutinen för Azure Files.
  • --disable-blob-drivergör att du kan inaktivera CSI-drivrutinen för Azure Blob Storage.
  • --disable-snapshot-controllergör att du kan inaktivera ögonblicksbildskontrollanten.
az aks create -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller 

Om du vill inaktivera CSI-lagringsdrivrutiner i ett befintligt kluster använder du någon av parametrarna som angavs tidigare beroende på lagringssystemet:

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

Migrera anpassade lagringsklasser i träd till CSI

Om du har skapat lagringsklasser för drivrutinsdrivrutiner i träd fortsätter dessa lagringsklasser att fungera eftersom CSI-migreringen är aktiverad efter uppgradering av klustret till 1.21.x. Om du vill använda CSI-funktioner måste du utföra migreringen.

Information om hur du granskar migreringsalternativen för dina lagringsklasser och uppgraderar klustret för att använda Azure Disks- och Azure Files CSI-drivrutiner finns i Migrera från träd till CSI-drivrutiner.

Nästa steg