Správa úložiště Kubernetes na zařízení Azure Stack Edge Pro GPU
PLATÍ PRO: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Na zařízení Azure Stack Edge Pro se vytvoří cluster Kubernetes při konfiguraci výpočetní role. Po vytvoření clusteru Kubernetes je možné kontejnerizované aplikace nasadit v clusteru Kubernetes v podech. Existují různé způsoby, jak zajistit úložiště podům v clusteru Kubernetes.
Tento článek popisuje metody zřizování úložiště v clusteru Kubernetes obecně a konkrétně v kontextu zařízení Azure Stack Edge Pro.
Požadavky na úložiště pro pody Kubernetes
Pody Kubernetes jsou bezstavové, ale spuštěné aplikace jsou obvykle stavové. Vzhledem k tomu, že pody můžou být krátkodobé a můžou restartovat, převzít služby při selhání nebo se přesouvat mezi uzly Kubernetes, musí být splněny následující požadavky pro úložiště přidružené k podu.
Úložiště musí:
- Žije mimo pod.
- Buďte nezávislí na životním cyklu podů.
- Být přístupný ze všech uzlů Kubernetes.
Abyste pochopili, jak se úložiště spravuje pro Kubernetes, je potřeba porozumět dvěma prostředkům rozhraní API:
PersistentVolume (PV):: Jedná se o část úložiště v clusteru Kubernetes. Úložiště Kubernetes je možné staticky zřídit jako
PersistentVolume
. Lze ho také dynamicky zřizovat jakoStorageClass
.PersistentVolumeClaim (PVC):Toto je žádost o uložení uživatelem. PvCs spotřebovávají prostředky PV. PvCs můžou požadovat konkrétní režimy velikosti a přístupu.
Vzhledem k tomu, že uživatelé potřebují
PersistentVolumes
různé vlastnosti pro různé problémy, musí proto správci clusteru nabízet různé možnostiPersistentVolumes
, které se liší více způsoby než jen režimy velikosti a přístupu. Pro tyto potřeby potřebujeteStorageClass
prostředek.
Zřizování úložiště může být statické nebo dynamické. Jednotlivé typy zřizování jsou popsány v následujících částech.
Statické zřizování
Správci clusteru Kubernetes můžou staticky zřídit úložiště. K tomu můžou použít back-end úložiště založený na systémech souborů SMB/NFS nebo používat disky iSCSI, které se připojují místně přes síť v místním prostředí, nebo dokonce používat soubory Azure nebo disky Azure v cloudu. Tento typ úložiště není ve výchozím nastavení zřízený a správci clusteru musí toto zřizování plánovat a spravovat.
Tady je diagram znázorňující využití staticky zřízeného úložiště v Kubernetes:
K následujícím krokům dochází:
Zřízení úložiště: Správce clusteru zřídí úložiště. V tomto příkladu vytvoří správce clusteru jednu nebo více sdílených složek SMB, které automaticky vytvoří trvalé objekty svazku v clusteru Kubernetes odpovídající těmto sdíleným složkám.
Úložiště deklarací identity: Odešlete nasazení PVC, které požaduje úložiště. Tato deklarace identity pro úložiště je PersistentVolumeClaim (PVC). Je-li velikost a režim přístupu pv shodný s PVC, je PVC vázán na PV. PVC a PV mapuje 1:1.
Připojte PVC ke kontejneru: Jakmile je PVC vázán na PV, můžete tento PVC připojit k cestě v kontejneru. Když logika aplikace v kontejneru čte/zapisuje z/do této cesty, zapíšou se data do úložiště SMB.
Dynamické zřizování
Tady je diagram znázorňující využití staticky zřízeného úložiště v Kubernetes:
K následujícím krokům dochází:
Definovat třídu úložiště: Správce clusteru definuje třídu úložiště v závislosti na provozním prostředí clusteru Kubernetes. Správce clusteru také nasadí zřizovací nástroj, který je ještě další pod nebo aplikace nasazená v clusteru Kubernetes. Zřizovací služba obsahuje všechny podrobnosti pro dynamické zřizování sdílených složek.
Úložiště deklarací identity: Odešlete aplikaci, která bude úložiště deklarovat. Po vytvoření PVC s tímto odkazem na třídu úložiště se vyvolá zřizovací objekt.
Dynamické zřizování úložiště: Zřizovací nástroj dynamicky vytvoří sdílenou složku přidruženou k místnímu diskovém úložišti. Jakmile je sdílená složka vytvořena, vytvoří také objekt PV automaticky odpovídající této sdílené složce.
Připojení PVC ke kontejneru: Jakmile je PVC svázán s PV, můžete PVC připojit k kontejneru stejným způsobem jako statické zřizování a číst z nebo zapisovat do sdílené složky.
Zřizování úložiště ve službě Azure Stack Edge Pro
Na zařízení Azure Stack Edge Pro se staticky zřízená PersistentVolumes
zařízení vytvoří pomocí možností úložiště zařízení. Když zřídíte sdílenou složku a použijete sdílenou složku s možností výpočetních prostředků Edge, tato akce automaticky vytvoří prostředek PV v clusteru Kubernetes.
Pokud chcete používat vrstvení cloudu, můžete vytvořit cloudovou sdílenou složku Edge s povolenou možností Použít sdílenou složku s výpočetními funkcemi Edge. Pro tuto sdílenou složku se automaticky vytvoří pv. Všechna data aplikace, která zapíšete do sdílené složky Edge, se vrství do cloudu.
Sdílené složky SMB i NFS můžete vytvořit pro statické zřizování virtuálních počítačů na zařízení Azure Stack Edge Pro. Po zřízení PV odešlete PVC k deklaraci tohoto úložiště. Tady je příklad nasazení yaml
PVC, které deklaruje úložiště a používá sdílené složky, které jste zřídili.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-smb-flexvol
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
volumeName: <nfs-or-smb-share-name-here>
storageClassName: ""
Pokud chcete získat hodnotu volumeName
pole, vyberte místní přípojný bod pro výpočetní moduly Edge, když po vytvoření vyberete sdílenou složku SMB nebo NFS. Je to stejné jako název sdílené složky.
Další informace najdete v tématu Nasazení stavové aplikace prostřednictvím statického zřizování ve službě Azure Stack Edge Pro prostřednictvím kubectl.
Pro přístup ke stejnému staticky zřízenému úložišti jsou odpovídající možnosti připojení svazku pro vazby úložiště pro IoT následující. Je to /home/input
cesta, ve které je svazek přístupný v rámci kontejneru.
{
"HostConfig": {
"Mounts": [
{
"Target": "/home/input",
"Source": "<nfs-or-smb-share-name-here>",
"Type": "volume"
},
{
"Target": "/home/output",
"Source": "<nfs-or-smb-share-name-here>",
"Type": "volume"
}]
}
}
Azure Stack Edge Pro má také integrovaný StorageClass
název ase-node-local
, který používá úložiště datových disků připojené k uzlu Kubernetes. To StorageClass
podporuje dynamické zřizování. V aplikacích podů můžete vytvořit StorageClass
odkaz a automaticky se pro vás vytvoří pv. Další informace najdete na řídicím panelu Kubernetes, na který se chcete dotazovat ase-node-local StorageClass
.
Další informace najdete v tématu Nasazení stavové aplikace prostřednictvím dynamického zřizování ve službě Azure Stack Edge Pro prostřednictvím kuebctl.
Volba typu úložiště
Možná budete muset zvolit typ úložiště v závislosti na zatížení, které nasazujete.
Pokud chcete
ReadWriteMany
režim přístupu pro místoPersistentVolumes
, kde jsou svazky připojeny jako čtení i zápis mnoha nasazovanými uzly, použijte statické zřizování pro sdílené složky SMB/NFS.Pokud nasazované aplikace mají požadavek na dodržování předpisů POSIX, například aplikace, jako jsou MongoDB, PostgreSQL, MySQL nebo Prometheus, používají integrovanou třídu StorageClass. Režimy přístupu jsou
ReadWriteOnce
nebo je svazek připojený jako čtení i zápis jedním uzlem.
Další informace o režimech přístupu najdete v tématu Režim přístupu ke svazkům Kubernetes.
Další kroky
Informace o tom, jak můžete staticky zřídit PersistentVolume
, najdete v tématu:
Informace o tom, jak dynamicky zřizovat StorageClass
, najdete v tématu: