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:
- Šifrované spravované disky pomocí klíčů spravovaných zákazníkem pomocí služby Azure Key Vault uložené v jiném tenantovi Microsoft Entra.
- Zašifrujte disky Azure Storage hostující operační systém AKS a data aplikací pomocí klíčů spravovaných zákazníkem.
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
- Pokud chcete použít ovladač CSI pro disky Azure, přečtěte si téma Použití disků Azure s ovladači CSI.
- Pokud chcete použít ovladač CSI pro Azure Files, přečtěte si téma Použití služby Soubory Azure s ovladači CSI.
- Pokud chcete použít ovladač CSI pro úložiště objektů blob v Azure, přečtěte si téma Použití úložiště objektů blob v Azure s ovladači CSI.
- Další informace o osvědčených postupech úložiště najdete v tématu Osvědčené postupy pro ukládání a zálohování ve službě Azure Kubernetes Service.
- Další informace o migraci csI najdete ve stromu Kubernetes do migrace svazků CSI.
Azure Kubernetes Service