Sdílet prostřednictvím


Ovladače rozhraní csI (Container Storage Interface) ve službě Azure Kubernetes Service (AKS)

CSI (Container Storage Interface) je standard pro zpřístupnění libovolných blokových a souborových systémů úložišť kontejnerizovaným úlohám v Kubernetes. Když službu Azure Kubernetes Service (AKS) přijme a použije csI, může psát, nasazovat a iterovat moduly plug-in, aby zpřístupnil nové nebo vylepšené existující systémy úložiště v Kubernetes, aniž by se musel dotýkat základního kódu Kubernetes a čekat na jeho cykly vydání.

Podpora ovladače úložiště CSI v AKS umožňuje nativně používat:

  • Disky Azure je možné použít k vytvoření prostředku Datového disku Kubernetes. Disky můžou používat Azure Premium Storage, které jsou založené na vysoce výkonných discích SSD nebo Azure Standard Storage, založené na běžných pevných discích nebo discích SSD úrovně Standard. Pro většinu produkčních a vývojových úloh použijte Premium Storage. Disky Azure se připojují jako ReadWriteOnce a jsou k dispozici pouze pro jeden uzel v AKS. Pro svazky úložiště, ke kterým může současně přistupovat více uzlů, použijte službu Azure Files.
  • Soubory Azure je možné použít k připojení sdílené složky SMB 3.0/3.1 zálohované účtem úložiště Azure k podům. Se službou Azure Files můžete sdílet data napříč několika uzly a pody. Azure Files může využívat úložiště Azure Standard založené na běžných pevných discích nebo azure Premium Storage, které využívají vysoce výkonné disky SSD.
  • Azure Blob Storage se dá použít k připojení úložiště objektů blob (nebo úložiště objektů) jako systému souborů do kontejneru nebo podu. Použití úložiště objektů blob umožňuje clusteru podporovat aplikace, které pracují s velkými nestrukturovanými datovými sadami, jako jsou data souborů protokolů, obrázky nebo dokumenty, prostředí HPC a další. Pokud navíc ingestujete data do služby Azure Data Lake Storage, můžete je přímo připojit a používat v AKS bez konfigurace jiného dočasného systému souborů.

Tip

Pokud chcete plně spravované řešení pro přístup k datům na úrovni bloků, zvažte použití služby Azure Container Storage místo ovladačů CSI. Azure Container Storage se integruje s Kubernetes, což umožňuje dynamické a automatické zřizování trvalých svazků. Azure Container Storage podporuje disky Azure, dočasné disky a Azure Elastic SAN (Preview) jako záložní úložiště, které nabízí flexibilitu a škálovatelnost stavových aplikací běžících v clusterech Kubernetes.

Požadavky

  • Potřebujete nainstalované a nakonfigurované Rozhraní příkazového řádku Azure CLI verze 2.42 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
  • Pokud je v clusteru nainstalovaný opensourcový ovladač úložiště CSI, před povolením ovladače CSI úložiště Azure ho odinstalujte.
  • Aby bylo možné vynutit clustery Kubernetes definice zásad Azure Policy pro AKS, musí být pro nové a existující clustery povolené ovladače Container Storage Interface (CSI) StorageClass. Informace o existujícím clusteru najdete v tématu Learn Azure Policy pro Kubernetes a povolte ho.

Podporované scénáře šifrování disků

Ovladače úložiště CSI podporují následující scénáře:

Povolení ovladačů úložiště CSI v existujícím clusteru

Pokud chcete povolit ovladače úložiště CSI v novém clusteru, zahrňte jeden z následujících parametrů v závislosti na systému úložiště:

  • --enable-disk-driver umožňuje povolit ovladač CSI disků Azure.
  • --enable-file-driver umožňuje povolit ovladač CSI služby Soubory Azure.
  • --enable-blob-driver umožňuje povolit ovladač CSI služby Azure Blob Storage.
  • --enable-snapshot-controller umožňuje povolit kontroler snímků.
az aks update --name myAKSCluster --resource-group myResourceGroup --enable-disk-driver --enable-file-driver --enable-blob-driver --enable-snapshot-controller

Dokončení této akce může trvat několik minut. Po dokončení by se měl zobrazit ve výstupu stav povolení ovladače v clusteru. Následující příklad se podobá části označující výsledky při povolování ovladače CSI služby Blob Storage:

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

Zakázání ovladačů úložiště CSI v novém nebo existujícím clusteru

Pokud chcete zakázat ovladače úložiště CSI v novém clusteru, uveďte jeden z následujících parametrů v závislosti na systému úložiště:

  • --disable-disk-driver umožňuje zakázat ovladač CSI disků Azure.
  • --disable-file-driver umožňuje zakázat ovladač CSI služby Soubory Azure.
  • --disable-blob-driver umožňuje zakázat ovladač CSI služby Azure Blob Storage.
  • --disable-snapshot-controller umožňuje zakázat kontroler snímků.
az aks create \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --disable-disk-driver \
    --disable-file-driver \
    --disable-blob-driver \
    --disable-snapshot-controller \
    --generate-ssh-keys

Pokud chcete zakázat ovladače úložiště CSI v existujícím clusteru, použijte některý z výše uvedených parametrů v závislosti na systému úložiště:

az aks update \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --disable-disk-driver \
    --disable-file-driver \
    --disable-blob-driver \
    --disable-snapshot-controller 

Poznámka:

Při odstraňování svazku CSI doporučujeme odstranit odpovídající objekt PersistentVolumeClaim místo objektu PersistentVolume. Externí zřizovací nástroj v ovladači CSI bude reagovat na odstranění PersistentVolumeClaim a na základě svých zásad pro relamaci vydá volání DeleteVolume vůči příkazům ovladače svazku CSI k odstranění svazku. Objekt PersistentVolume se pak odstraní.

Migrace vlastních tříd úložiště ve stromové struktuře do csI

Počínaje Kubernetes verze 1.26 jsou trvalé typy svazků ve stromové struktuře kubernetes.io/azure-disk a kubernetes.io/azure-file zastaralé a už nebudou podporovány. Ovladače ve stromu odkazují na ovladače úložiště, které jsou součástí základního kódu Kubernetes, na rozdíl od ovladačů CSI, které jsou moduly plug-in.

Odebrání těchto ovladačů po vyřazení těchto ovladačů se neplánuje, měli byste ale migrovat na odpovídající ovladače CSI disk.csi.azure.com a file.csi.azure.com. Pokud chcete zkontrolovat možnosti migrace pro vaše třídy úložiště a upgradovat cluster tak, aby používal ovladače CSI služby Azure Disky a Soubory Azure, přečtěte si téma Migrace z in-tree na ovladače CSI.

Pokud jste vytvořili třídy úložiště ovladačů ve stromu, tyto třídy úložiště budou fungovat, protože migrace CSI je po upgradu clusteru na verzi 1.21.x zapnutá. Pokud chcete používat funkce CSI, budete muset provést migraci.

Další kroky