Správa úložiště Kubernetes na zařízení Azure Stack Edge Pro GPU

PLATÍ PRO:Yes for Pro GPU SKU Azure Stack Edge Pro – GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure 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 jako StorageClass.

  • 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žnosti PersistentVolumes , které se liší více způsoby než jen režimy velikosti a přístupu. Pro tyto potřeby potřebujete StorageClass 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:

Static provisioning via PersistentVolumes

K následujícím krokům dochází:

  1. 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.

  2. Ú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.

  3. 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:

Dynamic provisioning via StorageClasses

K následujícím krokům dochází:

  1. 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.

  2. Ú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.

  3. 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.

  4. 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.

Local share creation in Azure portal for static provisioning

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.

Cloud share creation in Azure portal for static provisioning

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.

Built-in storage class in Kubernetes dashboard

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ísto PersistentVolumes , 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: