Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikace spuštěné ve službě Azure Kubernetes Service (AKS) můžou potřebovat ukládat a načítat data. I když některé úlohy aplikací můžou používat místní, rychlé úložiště na nepotřebných, vyprázdněných uzlech, jiné vyžadují úložiště, které se v rámci platformy Azure zachová na častějších datových svazcích.
Několik podů může potřebovat:
- Sdílejte stejné datové svazky.
- Znovu připojte datové svazky, pokud je pod přeplánován na jiný uzel.
Můžete také potřebovat shromažďovat a ukládat citlivá data nebo informace o konfiguraci aplikace do podů.
Tento článek představuje základní koncepty, které poskytují úložiště aplikacím v AKS:
Výchozí velikost disku s operačním systémem
Efemérní OS disky
Pokud vyberete skladovou položku virtuálního počítače, která podporuje dočasné disky s operačním systémem, ale nezadáte velikost disku s operačním systémem, AKS ve výchozím nastavení zřídí dočasný disk s operačním systémem s velikostí, která se škáluje podle celkového dočasného úložiště skladové položky virtuálního počítače, pokud je teplota alespoň 128GiB. Například Standard_D8ds_v5 skladová položka s velikostí dočasného disku 300GiB obdrží ve výchozím nastavení dočasný disk s operačním systémem 300GiB, pokud nejsou zadané parametry disku.
Pokud chcete použít dočasné úložiště virtuálního počítače SKU, musíte zadat velikost disku s operačním systémem během nasazování, jinak se ve výchozím nastavení spotřebovává.
Důležité
Výchozí dočasné nastavení velikosti disku s operačním systémem se používá jenom v nových clusterech nebo fondech uzlů, kde jsou podporované dočasné disky s operačním systémem a není zadaná výchozí velikost disku s operačním systémem. Výchozí velikost disku s operačním systémem může mít vliv na výkon nebo náklady na cluster. Po vytvoření clusteru nebo fondu uzlů nemůžete změnit velikost disku s operačním systémem. Toto výchozí nastavení dočasné velikosti ovlivňuje clustery nebo fondy uzlů vytvořené v březnu 2025 nebo později.
Disky spravovaného operačního systému
Při vytváření nového clusteru nebo přidání nového fondu uzlů do existujícího clusteru určuje číslo virtuálních procesorů ve výchozím nastavení velikost disku s operačním systémem. Počet virtuálních procesorů vychází ze skladové položky virtuálního počítače. Následující tabulka uvádí výchozí velikost disku s operačním systémem pro každou skladovou položku virtuálního počítače:
| Jádra konfiguračních jednotek virtuálních počítačů (vCPU) | Výchozí úroveň operačního systému disku | Provisionované IOPS | Zřízená propustnost (Mb/s) |
|---|---|---|---|
| 1 - 7 | P10/128G | 500 | 100 |
| 8 - 15 | P15/256G | 1100 | 125 |
| 16 - 63 | P20/512G | 2300 | sto padesát |
| 64+ | P30/1024G | 5 000 | 200 |
Důležité
Výchozí velikost disku spravovaného operačního systému se používá jenom v nových clusterech nebo fondech uzlů, pokud nejsou podporované dočasné disky s operačním systémem a není zadaná výchozí velikost disku s operačním systémem. Výchozí velikost disku s operačním systémem může mít vliv na výkon nebo náklady na cluster. Po vytvoření clusteru nebo fondu uzlů nemůžete změnit velikost disku s operačním systémem. Pokud dočasný disk s operačním systémem nejde použít, doporučujeme minimální velikost disku 512G. Tato výchozí velikost určená pro správu ovlivňuje clustery nebo skupiny uzlů vytvořené v červenci 2022 nebo později.
Dočasný disk s operačním systémem
Azure ve výchozím nastavení automaticky replikuje disk operačního systému pro virtuální počítač do služby Azure Storage, aby se zabránilo ztrátě dat při přemístění virtuálního počítače na jiného hostitele. Vzhledem k tomu, že kontejnery nejsou navržené tak, aby měly trvalý místní stav, nabízí toto chování omezenou hodnotu a zároveň poskytuje určité nevýhody. Mezi tyto nevýhody patří, ale nejsou omezené na pomalejší zřizování uzlů a vyšší latenci čtení a zápisu.
Naproti tomu dočasné disky s operačním systémem se ukládají jenom na hostitelském počítači, stejně jako na dočasném disku. Díky této konfiguraci získáte nižší latenci čtení a zápisu s rychlejším škálováním uzlů a upgrady clusteru. Proto důrazně doporučujeme používat dočasné disky s operačním systémem, kdykoli je to možné.
Poznámka:
Pokud pro operační systém explicitně nepožadujete spravované disky Azure, AKS pro danou konfiguraci fondu uzlů ve výchozím nastavení nastaví dočasný operační systém.
Požadavky na velikost a doporučení pro dočasné disky s operačním systémem jsou k dispozici v dokumentaci k virtuálnímu počítači Azure. Tady jsou některé obecné aspekty velikosti:
Pokud jste se rozhodli použít výchozí velikost virtuálního počítače AKS Standard_DS2_v2 SKU s výchozí velikostí disku s operačním systémem 100 GiB, výchozí velikost virtuálního počítače podporuje efemérní OS, ale cache má pouze velikost 86 GiB. Pokud ji explicitně nezadáte, tato konfigurace se ve výchozím nastavení nastaví na spravované disky. Pokud požadujete dočasný operační systém, zobrazí se chyba ověření.
Pokud požádáte o stejnou skladovou položku Standard_DS2_v2 s diskem s operačním systémem 60 GiB, bude tato konfigurace ve výchozím nastavení dočasného operačního systému. Požadovaná velikost 60 GiB je menší než maximální velikost mezipaměti 86 GiB.
Pokud vyberete skladovou položku Standard_D8s_v3 s diskem s operačním systémem 100 GB, tato velikost virtuálního počítače podporuje dočasný operační systém a má 200 GiB místa v mezipaměti. Pokud nezadáte typ disku s operačním systémem, fond uzlů bude ve výchozím nastavení přijímat dočasný operační systém.
Nejnovější generace řady virtuálních počítačů nemá vyhrazenou mezipaměť, ale pouze dočasné úložiště. Pokud jste například vybrali velikost virtuálního počítače Standard_E2bds_v5 s výchozí velikostí disku s operačním systémem 100 GiB, podporuje dočasné disky s operačním systémem, ale má pouze 75 GB dočasného úložiště. Pokud ji explicitně nezadáte, tato konfigurace se ve výchozím nastavení nastaví na spravované disky s operačním systémem. Pokud požadujete dočasný disk s operačním systémem, zobrazí se chyba ověření.
Pokud požadujete stejnou velikost virtuálního počítače Standard_E2bds_v5 s diskem s operačním systémem 60 GiB, tato konfigurace ve výchozím nastavení používá dočasné disky s operačním systémem. Požadovaná velikost 60 GiB je menší než maximální dočasné úložiště 75 GiB.
Pokud vyberete Standard_E4bds_v5 skladovou položku s diskem s operačním systémem 100 GiB, tato velikost virtuálního počítače podporuje dočasný operační systém a má 150 GiB dočasného úložiště. Pokud typ disku s operačním systémem nezadáte, Azure ve výchozím nastavení zřídí dočasný disk s operačním systémem do fondu uzlů.
Klíče spravované zákazníkem
Šifrování dočasného disku s operačním systémem můžete spravovat pomocí vlastních klíčů v clusteru AKS. Další informace najdete v tématu Použití klíče spravovaného zákazníkem s diskem Azure v AKS.
Dočasné datové disky NVMe
Dočasné datové disky NVMe poskytují vysoce výkonné úložiště s nízkou latencí přímo připojené k fyzickému hostiteli virtuálního počítače Azure. Tyto disky jsou ideální pro úlohy, které vyžadují rychlé dočasné úložiště pro zpracování průběžných dat, jako je ukládání do mezipaměti, pomocné místo nebo analýza s vysokou propustností.
Dočasné datové disky NVMe byly zpočátku dostupné jenom na virtuálních počítačích L-series, E-series a GPU virtuálních počítačích Azure. Díky zavedení generace virtuálních počítačů Azure v6 a v7 se podpora dočasných datových disků NVMe rozšířila na mnohem širší škálu velikostí virtuálních počítačů, včetně D-series, F-series, H-series a dalších. Disky NVMe poskytují výrazně vyšší IOPS a propustnost v porovnání s tradičními možnostmi HDD nebo SSD. Data uložená na těchto discích jsou však dočasná a při uvolnění nebo opětovném nasazení virtuálního počítače se ztratí.
Ke zjednodušení správy a zřizování dočasných datových disků NVMe v AKS použijte Azure Container Storage. Azure Container Storage dokáže automaticky zjišťovat a orchestrovat datové disky NVMe, což umožňuje vytvářet a spravovat trvalé svazky pro úlohy Kubernetes s minimální konfigurací. Tento přístup se doporučuje pro scénáře, ve kterých se vyžaduje vysoce výkonné dočasné úložiště, například:
- Vysokorychlostní vrstvy ukládání do mezipaměti, jako jsou datové sady a kontrolní body pro trénování AI, nebo soubory modelů používané pro odvozování AI
- Vysoce výkonné, místní databáze, které zahrnují integrované funkce replikace a zálohování
- Kanály pro analýzu a zpracování náročné na data, které vyžadují rychlé dočasné úložiště
- Dočasný pracovní prostor pro dávkové úlohy
Důležité
Dočasné datové disky NVMe nejsou vhodné pro ukládání kritických nebo trvalých dat. Ujistěte se, že vaše aplikace dokáže tolerovat ztrátu dat a že důležitá data jsou uložená na trvalých svazcích zálohovaných službou Azure Disk, Azure Files nebo jinými možnostmi odolného úložiště.
Další informace o používání služby Azure Container Storage s dočasnými datovými disky NVMe najdete v tématu Použití služby Azure Container Storage s AKS.
Množství
Kubernetes obvykle považuje jednotlivé pody za dočasné a spotřební prostředky. Aplikace mají k dispozici různé přístupy k používání a uchovávání dat. Svazek představuje způsob, jak ukládat, načítat a uchovávat data napříč pody a prostřednictvím životního cyklu aplikace.
Tradiční svazky se vytvářejí jako prostředky Kubernetes zálohované službou Azure Storage. Můžete ručně vytvořit datové svazky, které se mají přiřadit přímo podům, nebo je Kubernetes automaticky vytvořit. Datové svazky mohou používat: Azure Disk, Azure Files, Azure NetApp Files nebo Azure Blobs.
Poznámka:
V závislosti na SKU virtuálního počítače, který používáte, může mít ovladač CSI disku Azure limit svazku pro jednotlivé uzly. U některých vysoce výkonných virtuálních počítačů (například 16 jader) je limit 64 svazků na uzel. Pokud chcete zjistit limit na skladovou položku virtuálního počítače, projděte si sloupec Maximální počet datových disků pro každou nabízenou skladovou položku virtuálního počítače. Seznam nabízených skladových položek virtuálních počítačů a jejich odpovídajících podrobných limitů kapacity najdete v tématu Velikosti virtuálních počítačů pro obecné účely.
Informace uvedené v článku Srovnání Soubory Azure a Azure NetApp Files vám pomohou určit nejvhodnější řešení mezi službami Soubory Azure a Azure NetApp Files pro vaše úlohy.
Azure Disk
Použijte Azure Disk k vytvoření prostředku DataDisk pro Kubernetes. Mezi typy disků patří:
- Disky SSD úrovně Premium (doporučeno pro většinu úloh)
- Disky Ultra
- Standardní SSD disky
- Standardní HDD disky
Návod
Pro většinu produkčních a vývojových úloh použijte disky SSD úrovně Premium.
Vzhledem k tomu, že disk Azure je připojen jako ReadWriteOnce, je k dispozici jen jedinému uzlu. Pro úložné svazky přístupné pody na více uzlech současně použijte službu Azure Files.
Azure Files
Služba Soubory Azure slouží k připojení sdílené složky SMB (Server Message Block) verze 3.1.1 nebo systému souborů NFS (Network File System) verze 4.1. Soubory Azure umožňují sdílet data mezi několika uzly a pody a můžou používat:
- Azure Premium Storage založené na vysoce výkonných discích SSD
- Azure Standard Storage zálohované běžnými pevnými disky
Azure NetApp Files
- Úložiště úrovně Ultra
- Premium Storage
- Standard Storage
Azure Blob Storage
Pomocí služby Azure Blob Storage vytvořte kontejner úložiště objektů blob a připojte ho pomocí protokolu NFS verze 3.0 nebo BlobFuse.
- Blokové objekty
Typy svazků
Svazky Kubernetes představují více než jen tradiční disk pro ukládání a načítání informací. Také lze objemy Kubernetes použít jako způsob, jak vložit data do podu pro využití jeho kontejnery.
Mezi běžné typy svazků v Kubernetes patří:
emptyDir
Běžně se používá jako dočasný prostor pro pod. Všechny kontejnery v rámci podu mohou přistupovat k datům na svazku. Data zapsaná do tohoto typu svazku se uchovávají pouze po dobu existence podu. Po odstranění podu se svazek odstraní. Tento svazek obvykle používá základní diskové úložiště místního uzlu, i když může existovat pouze v paměti uzlu.
tajný klíč
Tajné svazky můžete použít k vložení citlivých dat do pods, jako jsou hesla.
- Vytvořte tajný klíč pomocí rozhraní Kubernetes API.
- Definujte pod nebo nasazení a požádejte o konkrétní tajný klíč.
- Tajné kódy se poskytují jenom uzlům s naplánovaným podem, který je vyžaduje.
- Tajný kód je uložen v tmpfs, není zapsán na disk.
- Když odstraníte poslední pod na uzlu vyžadujícím tajný klíč, tajný kód se odstraní z tmpfs uzlu.
- Tajné kódy jsou uložené v daném oboru názvů a jsou přístupné pouze pody ve stejném oboru názvů.
configMap
Objekt configMap můžete použít k vložení vlastností páru klíč-hodnota do podů, jako jsou například informace o konfiguraci aplikace. Definujte informace o konfiguraci aplikace jako prostředek Kubernetes, snadno se aktualizují a použijí na nové instance podů při jejich nasazení.
Podobně jako použití tajného kódu:
- Vytvořte objekt ConfigMap pomocí rozhraní API Kubernetes.
- Když definujete pód nebo nasazení, požádejte o objekt ConfigMap.
- Objekty ConfigMap jsou uloženy v daném oboru názvů a jsou přístupné pouze pody ve stejném oboru názvů.
Trvalé svazky
Svazky, které jsou definované a vytvořené jako součást životního cyklu podů, existují pouze do té doby, než pod odstraníte. Pody často očekávají, že jejich úložiště zůstane na svém místě, pokud se pod během údržbového zásahu přeplánuje na jiného hostitele, zejména v rámci „StatefulSets“. Trvalý svazek (PV) je prostředek úložiště vytvořený a spravovaný rozhraním API Kubernetes, který může existovat i po skončení životnosti jednotlivého podu.
K zajištění trvalého svazku můžete použít následující služby Azure Storage:
Jak je uvedeno v části Svazky, volba disků Azure nebo služby Azure Files je často určena potřebou souběžného přístupu k datům nebo úrovni výkonu.
Správce clusteru může staticky vytvořit trvalý svazek nebo ho může dynamicky vytvořit server rozhraní API Kubernetes. Pokud je pod naplánovaný a vyžaduje úložiště, které je aktuálně nedostupné, může Kubernetes vytvořit podkladové úložiště Azure Disk nebo File a připojit ho k podu. Dynamické zřizování používá třídu úložiště k identifikaci typu prostředku, který se má vytvořit.
Důležité
Perzistentní svazky nemohou být sdíleny mezi pody s Windows a Linuxem kvůli rozdílům v podpoře souborových systémů mezi těmito dvěma operačními systémy.
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.
Třídy úložiště
Pokud chcete zadat různé úrovně úložiště, například Premium nebo Standard, můžete vytvořit třídu úložiště.
Třída úložiště také definuje zásadu uvolnění paměti. Když odstraníte trvalý svazek, politika obnovení řídí chování základního prostředku Azure Storage. Základní prostředek je možné odstranit, nebo ponechat k použití s budoucím podsystémem.
U clusterů využívajících Azure Container Storage uvidíte další třídu úložiště s názvem acstor-<storage-pool-name>. Vytvoří se také interní třída úložiště.
Pro clustery používající ovladače rozhraní úložiště kontejnerů (CSI) se vytvoří následující třídy úložiště:
| Třída úložiště | Popis |
|---|---|
managed-csi |
K vytvoření spravovaného disku používá místně redundantní úložiště SSD úrovně Azure Standard (LRS). Zásady uvolnění paměti zajistí, že se základní disk Azure odstraní, když se odstraní trvalý svazek, který ho použil. Třída úložiště také nakonfiguruje trvalé svazky tak, aby se rozšiřily. Můžete upravit trvalý požadavek na svazek a určit tak novou velikost. Počínaje Kubernetes verzí 1.29 využívají klastry Azure Kubernetes Service (AKS), které jsou nasazeny napříč několika zónami dostupnosti, zónově redundantní úložiště (ZRS) Azure Standard SSD ke tvorbě spravovaných disků. |
managed-csi-premium |
K vytvoření spravovaného disku používá místně redundantní úložiště Azure Premium (LRS). Zásada uvolnění znovu zajistí, že se základní disk Azure odstraní, když se odstraní trvalý svazek, který ho použil. Podobně tato třída úložiště umožňuje rozšíření trvalých svazků. S účinností od verze Kubernetes 1.29, v clusterech Azure Kubernetes Service (AKS), které jsou nasazeny napříč několika zónami dostupnosti, tato třída úložiště využívá úložiště Azure Premium Zónově-redundantní úložiště (ZRS) k vytváření spravovaných disků. |
azurefile-csi |
Používá úložiště Azure Standard k vytvoření sdílené složky Azure. Zásada uvolnění zajišťuje, že se základní souborový podíl Azure vymaže, když se odstraní trvalý svazek, který jej používal. |
azurefile-csi-premium |
Používá Azure Premium Storage k vytvoření sdílené složky souborů Azure. Zásada uvolnění zajišťuje, že se základní souborový podíl Azure vymaže, když se odstraní trvalý svazek, který jej používal. |
azureblob-nfs-premium |
Používá Azure Premium Storage k vytvoření kontejneru úložiště objektů blob v Azure a připojení pomocí protokolu NFS v3. Zásada uvolnění paměti zajišťuje, že se základní kontejner úložiště objektů blob v Azure odstraní, když se odstraní trvalý svazek, který ho použil. |
azureblob-fuse-premium |
Používá Azure Premium Storage k vytvoření kontejneru azure Blob Storage a připojení pomocí BlobFuse. Zásada uvolnění paměti zajišťuje, že se základní kontejner úložiště objektů blob v Azure odstraní, když se odstraní trvalý svazek, který ho použil. |
Pokud pro trvalý svazek nezadáte třídu úložiště, použije se výchozí třída úložiště. Zajistěte, aby svazky používaly příslušné úložiště, které potřebujete při požadavku na trvalé svazky.
Důležité
Počínaje Kubernetes verze 1.21 používá AKS ve výchozím nastavení ovladače CSI a je povolená migrace CSI. I když stávající trvalé svazky ve stromu nadále fungují, počínaje verzí 1.26 už AKS nebude podporovat svazky vytvořené pomocí ovladače stromu a úložiště zřízeného pro soubory a disky.
Třída default bude stejná jako managed-csi.
Počínaje Kubernetes verze 1.29 platí, že když nasadíte clustery Azure Kubernetes Service (AKS) napříč několika zónami dostupnosti, AKS teď využívá zónově redundantní úložiště (ZRS) k vytváření spravovaných disků v rámci integrovaných tříd úložiště. ZRS zajišťuje synchronní replikaci spravovaných disků Azure napříč několika zónami dostupnosti Azure ve zvolené oblasti. Tato strategie redundance zvyšuje odolnost vašich aplikací a chrání vaše data před selháními datacentra.
Je ale důležité si uvědomit, že zónově redundantní úložiště (ZRS) má oproti místně redundantnímu úložišti (LRS) vyšší náklady. Pokud je optimalizace nákladů prioritou, můžete vytvořit novou třídu úložiště s parametrem nastaveným skuname na LRS. Pak můžete použít novou třídu úložiště ve vašem přetrvávajícím prohlášení o objemu (PVC).
Můžete vytvořit třídu úložiště pro jiné potřeby pomocí kubectl. Následující příklad používá spravované disky Úrovně Premium a určuje, že při odstranění podu by se měl zachovat základní disk Azure:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-premium-retain
provisioner: disk.csi.azure.com
parameters:
skuName: Premium_ZRS
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
Poznámka:
AKS odsouhlasí výchozí třídy úložiště a přepíše všechny změny, které v těchto třídách úložiště provedete.
Další informace o třídách úložiště najdete v tématu StorageClass v Kubernetes.
Požadavky na persistentní svazky
Deklarace trvalého svazku (PVC) vyžaduje uložení konkrétní třídy úložiště, režimu přístupu a velikosti. Server rozhraní API Kubernetes může dynamicky zřizovat podkladový prostředek Azure Storage, pokud žádný existující prostředek nemůže splnit požadavek na základě definované třídy úložiště.
Definice podu zahrnuje připojení objemu poté, co byl objem připojen k podu.
Jakmile je k podu žádajícímu úložišti přiřazen dostupný prostředek úložiště, je trvalý svazek svázán s trvalou deklarací identity svazku. Trvalé svazky se mapují na deklarace identity v mapování 1:1.
Následující příklad manifestu YAML ukazuje trvalou deklaraci identity svazku, která používá třídu spravovaného úložiště premium a požaduje disk Azure, který má velikost 5Gi :
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: azure-managed-disk
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-premium-retain
resources:
requests:
storage: 5Gi
Při vytváření definice podu zadáte také:
- Deklarace trvalého svazku pro vyžádání požadovaného úložiště.
- Připojení svazku pro vaše aplikace ke čtení a zápisu dat.
Následující příklad manifestu YAML ukazuje, jak lze předchozí nárok na trvalý svazek použít k připojení svazku na /mnt/azure:
kind: Pod
apiVersion: v1
metadata:
name: nginx
spec:
containers:
- name: myfrontend
image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
volumeMounts:
- mountPath: "/mnt/azure"
name: volume
volumes:
- name: volume
persistentVolumeClaim:
claimName: azure-managed-disk
Pro připojení svazku v kontejneru Windows zadejte písmeno jednotky a cestu. Příklad:
...
volumeMounts:
- mountPath: "d:"
name: volume
- mountPath: "c:\k"
name: k-dir
...
Další kroky
Související osvědčené postupy najdete v tématu Osvědčené postupy pro uložiště a zálohy v AKS a Úvahy o úložišti AKS.
Další informace o službě Azure Container Storage najdete v následujících článcích:
Další informace o používání ovladačů CSI najdete v následujících článcích:
- Ovladače rozhraní CSI (Container Storage Interface) pro disky Azure, soubory Azure a Azure Blob storage v Azure Kubernetes Service
- Použití ovladače CSI disku Azure ve službě Azure Kubernetes Service
- Použití ovladače CSI služby Azure Files ve službě Azure Kubernetes Service
- Použití ovladače CSI služby Azure Blob Storage ve službě Azure Kubernetes Service
- Konfigurace služby Azure NetApp Files se službou Azure Kubernetes Service
Další informace o základních konceptech Kubernetes a AKS najdete v následujících článcích: