Možnosti úložiště pro cluster Kubernetes
Tento článek porovnává možnosti úložiště služby Amazon Elastic Kubernetes Service (Amazon EKS) a Azure Kubernetes Service (AKS) a popisuje možnosti ukládání dat úloh v AKS.
Poznámka:
Tento článek je součástí série článků, které pomáhají odborníkům, kteří jsou obeznámeni s Amazon EKS, porozumět službě Azure Kubernetes Service (AKS).
Možnosti úložiště Amazon EKS
V Amazon EKS má cluster po Kubernetes verze 1.11 výchozí třídu StorageClass , která se volá gp2
pro deklarace trvalých svazků. Správci můžou přidat ovladače pro definování dalších tříd úložiště, například:
- Ovladač Amazon EBS CSI jako doplněk Amazon EKS
- Doplněk Amazon EBS CSI, který spravuje sám
- Ovladač Amazon EFS CSI
- Amazon FSx pro ovladač Lustre CSI
- Amazon FSx pro ovladač CSI netApp ONTAP
Přidáním ovladačů a tříd úložiště můžete použít například tyto služby úložiště:
Amazon Elastic Block Store (Amazon EBS) – řešení úložiště na úrovni bloků používané s instancemi Amazon Elastic Compute Cloud (EC2) k ukládání trvalých dat. Tato služba je podobná službě Azure Disk Storage, která má v závislosti na požadovaném výkonu několik skladových položek, jako je SSD úrovně Standard, SSD úrovně Premium nebo Disk Storage úrovně Ultra.
Amazon Elastic File System (Amazon EFS), který poskytuje síťový systém souborů přístup k externím systémům souborů, které je možné sdílet napříč instancemi. Ekvivalentním řešením Azure je Azure Files a Azure Files Premium s přístupem k protokolu SMB (Server Message Block) 3.0 i NFS.
Lustre, opensourcový systém souborů běžně používaný ve vysokovýkonných výpočetních prostředích (HPC). V Azure můžete použít Disk Storage úrovně Ultra nebo Azure HPC Cache pro úlohy, ve kterých záleží na rychlosti, jako je strojové učení a prostředí HPC.
NetApp ONTAP, plně spravované sdílené úložiště ONTAP ve službě Amazon Web Services (AWS). Azure NetApp Files je podobná služba úložiště souborů v Azure založená na technologii NetApp.
Možnosti úložiště AKS
Každý cluster AKS obsahuje ve výchozím nastavení následující předem vytvořené třídy úložiště:
- Výchozí třída úložiště používá
managed-csi
disk storage SSD úrovně Standard. Ssd úrovně Standard je nákladově efektivní možnost úložiště optimalizovaná pro úlohy, které potřebují konzistentní výkon při nižších vstupně-výstupních operacích za sekundu (IOPS). - Třída
managed-csi-premium
používá spravované disky SSD služby Disk Storage Úrovně Premium. - Třída
azurefile-csi
pomocí služby Azure Files poskytuje souběžný sdílený přístup ke stejnému svazku úložiště pomocí protokolu SMB nebo NFS. - Třída
azurefile-csi-premium
používá Azure Files Premium pro sdílené složky s úlohami náročnými na IOPS. Azure Files Premium poskytuje nízkou latenci a vysokou propustnost zálohovanou úložištěm SSD.
Tyto možnosti můžete rozšířit přidáním dalších tříd úložiště a integrací s dalšími dostupnými řešeními úložiště, například:
- Ultra Disk Storage
- Azure NetApp Files
- HPC Cache
- Server NFS
- Řešení úložiště třetích stran
Azure Disk Storage
Ve výchozím nastavení se cluster AKS dodává s předem vytvořenými managed-csi
třídami úložiště a managed-csi-premium
třídami úložiště, které používají Disk Storage. Podobně jako Amazon EBS tyto třídy vytvářejí spravovaný disk nebo blokové zařízení, které je připojené k uzlu pro přístup k podu.
Třídy disků umožňují statické i dynamické zřizování svazků. Uvolnění zásad zajišťuje odstranění disku s trvalým svazkem. Disk můžete rozšířit úpravou deklarace identity trvalého svazku.
Tyto třídy úložiště používají spravované disky Azure s místně redundantním úložištěm (LRS). LRS znamená, že data mají tři synchronní kopie v rámci jednoho fyzického umístění v primární oblasti Azure. LRS je nejlevnější možnost replikace, ale nenabízí ochranu před selháním datacentra. Pokud chcete toto riziko zmírnit, proveďte pravidelné zálohy nebo snímky dat diskového úložiště pomocí řešení, jako je Velero nebo Azure Backup , která můžou používat integrované technologie snímků.
Obě třídy úložiště jsou podporovány spravovanými disky a obě používají jednotky SSD (Solid-State Disk). Je důležité pochopit rozdíly mezi disky Standard a Premium:
- Disky Úrovně Standard se zaúčtují na základě velikosti a transakcí úložiště.
- Disky Premium se účtují jenom podle velikosti, což může usnadnit úlohy, které vyžadují vysoký počet transakcí.
- Disky SSD úrovně Premium poskytují vyšší maximální propustnost a IOPS, jak je znázorněno v tomto porovnání.
- Služba Premium Storage se doporučuje pro většinu produkčních a vývojových úloh.
Pokud jako primární třídu úložiště používáte spravované disky Azure, zvažte skladovou položku virtuálního počítače, kterou zvolíte pro cluster Kubernetes. Virtuální počítače Azure omezují počet disků, které k nim můžete připojit, a limit se liší podle velikosti virtuálního počítače. Vzhledem k tomu, že disky Azure jsou připojené jako ReadWriteOnce
, jsou k dispozici pouze pro jeden pod.
Disky SSD úrovně Azure Premium v2
Disky SSD úrovně Azure Premium v2 nabízejí náročné vstupně-výstupní úlohy v podniku, konzistentní latenci disků v milisekundách a vysokou IOPS a propustnost. Výkon (kapacita, propustnost a IOPS) disků SSD úrovně Premium v2 se dá kdykoli nezávisle nakonfigurovat, což usnadňuje nákladově efektivní situaci, když splňuje požadavky na výkon. Další informace o konfiguraci nového nebo existujícího clusteru AKS pro použití disků SSD úrovně Azure Premium v2 najdete v tématu Použití disků SSD úrovně Azure Premium v2 ve službě Azure Kubernetes Service.
Ultra Disk Storage
Diskové úložiště úrovně Ultra je vrstva spravovaného disku Azure, která nabízí vysokou propustnost, vysoké IOPS a konzistentní diskové úložiště s nízkou latencí pro virtuální počítače Azure. Diskové úložiště úrovně Ultra je určené pro úlohy, které jsou náročné na data a transakce. Stejně jako ostatní skladové položky diskového úložiště a Amazon EBS připojí diskové úložiště Úrovně Ultra jeden pod současně a neposkytuje souběžný přístup.
Pomocí příznaku --enable-ultra-ssd
povolte diskové úložiště úrovně Ultra v clusteru AKS.
Pokud zvolíte Disk Storage úrovně Ultra, mějte na paměti jeho omezení a nezapomeňte vybrat kompatibilní velikost virtuálního počítače. Diskové úložiště Úrovně Ultra je dostupné s místně redundantní replikací úložiště (LRS).
Používání vlastních klíčů (BYOK)
Azure šifruje všechna neaktivní uložená data na spravovaném disku. Ve výchozím nastavení se data šifrují pomocí klíčů spravovaných Microsoftem. Pokud chcete mít větší kontrolu nad šifrovacími klíči, můžete pro clustery AKS zadat klíče spravované zákazníkem pro šifrování neaktivních uložených disků operačního systému i datových disků. Další informace najdete v tématu Používání vlastních klíčů (BYOK) se spravovanými disky Azure ve službě Azure Kubernetes Service (AKS).
Soubory Azure
Disk Storage nemůže poskytnout souběžný přístup ke svazku, ale pomocí služby Azure Files se můžete připojit pomocí protokolu SMB a pak připojit sdílený svazek, který je podporovaný službou Azure Storage. Tento proces poskytuje úložiště připojené k síti, které je podobné Amazon EFS. Stejně jako u Disk Storage existují dvě možnosti:
- Úložiště Azure Files úrovně Standard je podporováno běžnými pevnými disky (HDD).
- Azure Files Premium Storage zálohuje sdílenou složku s vysoce výkonnými jednotkami SSD. Minimální velikost sdílené složky pro Premium je 100 GB.
Služba Azure Files nabízí následující možnosti replikace účtu úložiště pro ochranu dat v případě selhání:
- Standard_LRS: Místně redundantní úložiště úrovně Standard (LRS)
- Standard_GRS: Geograficky redundantní úložiště úrovně Standard (GRS)
- Standard_ZRS: Zónově redundantní úložiště úrovně Standard (ZRS)
- Standard_RAGRS: Geograficky redundantní úložiště jen pro čtení úrovně Standard (RA-GRS)
- Standard_RAGZRS: Standardní geograficky zónově redundantní úložiště jen pro čtení (RA-GZRS)
- Premium_LRS: Místně redundantní úložiště úrovně Premium (LRS)
- Premium_ZRS: Zónově redundantní úložiště úrovně Premium (ZRS)
Pokud chcete optimalizovat náklady na službu Azure Files, kupte rezervace kapacity služby Azure Files.
Azure Container Storage
Azure Container Storage je cloudová služba pro správu svazků, nasazení a orchestraci sestavená nativně pro kontejnery. Integruje se s Kubernetes a umožňuje dynamicky a automaticky zřizovat trvalé svazky pro ukládání dat pro stavové aplikace běžící v clusterech Kubernetes.
Azure Container Storage využívá existující nabídky Azure Storage pro skutečné úložiště dat a nabízí řešení pro orchestraci a správu svazků účelně vytvořené pro kontejnery. Mezi podporované možnosti záložního úložiště patří:
- Disky Azure: Podrobná kontrola skladových položek úložiště a konfigurací Jsou vhodné pro databáze úrovně 1 a pro obecné účely.
- Dočasné disky: Využívá prostředky místního úložiště na uzlech AKS (NVMe nebo temp SSD). Nejvhodnější pro aplikace bez požadavků na stálost dat nebo s podporou integrované replikace dat. AKS zjistí dostupné dočasné úložiště na uzlech AKS a získá je pro nasazení svazku.
- Azure Elastic SAN: Zřízení plně spravovaného prostředku na vyžádání Vhodné pro databáze pro obecné účely, služby streamování a zasílání zpráv, prostředí CD/CI a další úlohy vrstvy 1/vrstvy 2. Několik clusterů má současně přístup k jedné síti SAN, ale trvalé svazky je možné připojit pouze jedním příjemcem najednou.
Doteď poskytuje cloudové úložiště kontejnerům vyžadovaným pomocí jednotlivých ovladačů rozhraní úložiště kontejnerů (CSI) k používání služeb úložiště určených pro úlohy zaměřené na infrastrukturu jako službu (IaaS) a jejich fungování pro kontejnery. To vytváří provozní režii a zvyšuje riziko problémů s dostupností, škálovatelností, výkonem, použitelností a náklady.
Azure Container Storage je odvozeno od OpenEBS, opensourcového řešení, které poskytuje možnosti úložiště kontejnerů pro Kubernetes. Díky nabídce řešení orchestrace spravovaných svazků prostřednictvím řadičů úložiště založených na mikroslužbách v prostředí Kubernetes azure Container Storage umožňuje skutečné nativní úložiště pro kontejnery.
Azure Container Storage je vhodný v následujících scénářích:
Zrychlení iniciativ mezi kontejnery virtuálních počítačů: Azure Container Storage nabízí celé spektrum nabídek blokového úložiště Azure, které byly dříve dostupné jenom pro virtuální počítače a zpřístupňuje je pro kontejnery. Patří sem dočasný disk, který poskytuje extrémně nízkou latenci pro úlohy, jako je Cassandra, a také Azure Elastic SAN, která poskytuje nativní cíle iSCSI a sdílené zřízené cíle.
Zjednodušení správy svazků pomocí Kubernetes: Díky poskytování orchestrace svazků prostřednictvím řídicí roviny Kubernetes umožňuje Azure Container Storage snadno nasazovat a spravovat svazky v Rámci Kubernetes – aniž by bylo nutné se přesouvat mezi různými řídicími rovinami.
Snížení celkových nákladů na vlastnictví (TCO): Zvýšení efektivity nákladů zvýšením škály trvalých svazků podporovaných na pod nebo uzel Snižte prostředky úložiště potřebné ke zřizování dynamickým sdílením prostředků úložiště. Upozorňujeme, že podpora vertikálního navýšení kapacity pro samotný fond úložiště není podporovaná.
Azure Container Storage nabízí následující klíčové výhody:
Rychlé škálování mimo stavové pody: Azure Container Storage připojuje trvalé svazky přes protokoly síťového blokového úložiště (NVMe-oF nebo iSCSI), které nabízejí rychlé připojení a odpojení trvalých svazků. Při inicializaci nebo v produkčním prostředí můžete podle potřeby začít s malými prostředky a nasazovat prostředky a zajistit tak, aby vaše aplikace byly hladověné nebo nenarušované. Odolnost aplikací se vylepšuje díky respawnům podů v clusteru, což vyžaduje rychlý přesun trvalých svazků. Azure Container Storage úzce páruje s životním cyklem podů pomocí vzdálených síťových protokolů, aby podporovala vysoce odolné a vysoce škálovatelné stavové aplikace v AKS.
Vylepšený výkon stavových úloh: Azure Container Storage umožňuje vynikající výkon čtení a poskytuje výkon zápisu téměř na disk pomocí NVMe-oF přes RDMA. Zákazníci tak mohou nákladově efektivně splňovat požadavky na výkon pro různé úlohy kontejnerů, včetně náročných na vstupně-výstupní operace vrstvy 1, pro obecné účely, citlivé na propustnost a vývoj/testování. Urychlete dobu připojení/odpojení trvalých svazků a minimalizujte dobu převzetí služeb při selhání podu.
Orchestrace svazků nativních pro Kubernetes: Vytvářejte fondy úložiště a trvalé svazky, zachytávejte snímky a spravujte celý životní cyklus svazků pomocí
kubectl
příkazů bez přepínání mezi sadami nástrojů pro různé operace řídicí roviny.
Azure NetApp Files
Stejně jako AWS NetApp ONTAP je Azure NetApp Files podniková vysoce výkonná služba úložiště souborů účtovaná podle měrného měření. Služba Azure NetApp Files je plně spravovaná v Azure pomocí řešení NetApp. Stejně jako Azure Files umožňuje Azure NetApp Files připojit svazek více podů. Ke konfiguraci clusteru AKS pro použití služby Azure NetApp Files můžete použít open source dynamický orchestrátor úložiště pro Kubernetes.
Mějte na paměti limity prostředků pro Azure NetApp Files. Minimální velikost fondu kapacity pro Azure NetApp Files je 4 TiB. Služba Azure NetApp Files se účtuje podle zřízené velikosti, nikoli využité kapacity.
Azure HPC Cache
Azure HPC Cache zrychluje přístup k datům pro úlohy PROSTŘEDÍ HPC se všemi škálovatelnostmi cloudových řešení. Pokud zvolíte toto řešení úložiště, nezapomeňte nasadit cluster AKS v oblasti, která podporuje mezipaměť Azure HPC.
Server NFS
Nejlepší možností pro sdílený přístup nfs je použití služby Azure Files nebo Azure NetApp Files. Server NFS můžete vytvořit také na virtuálním počítači Azure, který exportuje svazky.
Mějte na paměti, že tato možnost podporuje pouze statické zřizování. Sdílené složky NFS musíte zřídit ručně na serveru a nemůžete to udělat automaticky ze služby AKS.
Toto řešení je založené na infrastruktuře jako službě (IaaS), nikoli na platformě jako službě (PaaS). Zodpovídáte za správu serveru NFS, včetně aktualizací operačního systému, vysoké dostupnosti, zálohování, zotavení po havárii a škálovatelnosti.
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 dočasný disk. Díky této konfiguraci získáte nižší latenci čtení a zápisu spolu s rychlejším škálováním uzlů a upgrady clusteru.
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.
Další informace naleznete v tématu:
- Možnosti úložiště pro aplikace ve službě Azure Kubernetes Service (AKS)
- Dočasné disky s operačním systémem pro virtuální počítače Azure
Řešení třetích stran
Stejně jako Amazon EKS je AKS implementací Kubernetes a můžete integrovat řešení úložiště Kubernetes třetích stran. Tady je několik příkladů řešení úložiště třetích stran pro Kubernetes:
- Rook promění distribuované systémy úložiště na samoobslužnou správu služeb úložiště automatizací úloh správce úložiště. Rook poskytuje své služby prostřednictvím operátoru Kubernetes pro každého poskytovatele úložiště.
- GlusterFS je bezplatný opensourcový škálovatelný síťový systém, který používá běžný hardware mimo police k vytváření rozsáhlých distribuovaných řešení úložiště pro úlohy náročné na data a náročné na šířku pásma.
- Ceph poskytuje spolehlivou a škálovatelnou jednotnou službu úložiště s objekty, bloky a rozhraními souborů z jednoho clusteru vytvořeného z komoditních hardwarových komponent.
- Multicloudové úložiště objektů MinIO umožňuje podnikům vytvářet datovou infrastrukturu kompatibilní s AWS S3 v jakémkoli cloudu, která poskytuje konzistentní přenosné rozhraní pro vaše data a aplikace.
- Portworx je ucelené řešení pro ukládání a správu dat pro projekty Kubernetes a iniciativy založené na kontejnerech. Portworx nabízí podrobné úložiště, zotavení po havárii, zabezpečení dat a migrace s více cloudy.
- Quobyte poskytuje vysoce výkonné úložiště souborů a objektů, které můžete nasadit na jakémkoli serveru nebo cloudu, abyste mohli škálovat výkon, spravovat velké objemy dat a zjednodušit správu.
- Ondat poskytuje konzistentní vrstvu úložiště napříč libovolnou platformou. V prostředí Kubernetes můžete spustit databázi nebo jakoukoli trvalou úlohu, aniž byste museli spravovat vrstvu úložiště.
Aspekty úložiště Kubernetes
Při výběru řešení úložiště pro Amazon EKS nebo AKS zvažte následující faktory.
Režimy přístupu ke třídě úložiště
V Kubernetes verze 1.21 a novější používají třídy úložiště AKS a Amazon EKS ovladače Container Storage Interface (CSI) pouze a ve výchozím nastavení.
Různé služby podporují třídy úložiště, které mají různé režimy přístupu.
Služba | ReadWriteOnce | ReadOnlyMany | ReadWriteMany |
---|---|---|---|
Disky Azure | X | ||
Soubory Azure | X | X | X |
Azure NetApp Files | X | X | X |
Server NFS | X | X | X |
Azure HPC Cache | X | X | X |
Dynamické a statické zřizování
Dynamicky zřizují svazky , aby se snížily režijní náklady na správu statických vytváření trvalých svazků. Nastavte správnou zásadu uvolnění paměti, abyste se vyhnuli nepoužívaným diskům při odstraňování podů.
Backup
Zvolte nástroj pro zálohování trvalých dat. Nástroj by měl odpovídat vašemu typu úložiště, jako jsou snímky, Azure Backup, Velero nebo Kasten.
Optimalizace nákladů
Pokud chcete optimalizovat náklady na Azure Storage, použijte rezervace Azure. Nezapomeňte zkontrolovat, které služby podporují rezervace Azure. Viz také Správa nákladů pro cluster Kubernetes.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Paul Salvatori | Hlavní systémový inženýr
- Laura Nicolas | Architekt cloudového řešení
Další přispěvatelé:
- Chad Kittel | Hlavní softwarový inženýr
- Ed Price | Vedoucí programový manažer obsahu
- Theano Petersen | Technický spisovatel
Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- AKS pro odborníky na Amazon EKS
- Správa identit a přístupu Kubernetes
- Monitorování a protokolování Kubernetes
- Zabezpečení síťového přístupu k Kubernetes
- Správa nákladů pro Kubernetes
- Správa uzlů a fondů uzlů Kubernetes
- Zásady správného řízení clusteru