Megosztás a következőn keresztül:


Kubernetes storage management az Azure Stack Edge Pro GPU-eszközön

ÉRVÉNYES:Yes for Pro GPU SKUAzure 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

Az Azure Stack Edge Pro-eszközön egy Kubernetes-fürt jön létre a számítási szerepkör konfigurálásakor. A Kubernetes-fürt létrehozása után a tárolóalapú alkalmazások üzembe helyezhetők a podokban lévő Kubernetes-fürtön. A Kubernetes-fürtön lévő podok tárolásának különböző módjai vannak.

Ez a cikk a Kubernetes-fürtön általában és kifejezetten az Azure Stack Edge Pro-eszköz környezetében történő tárolás kiépítésének módszereit ismerteti.

A Kubernetes-podok tárolási követelményei

A Kubernetes-podok állapot nélküliek, de az általuk futtatott alkalmazások általában állapotalapúak. Mivel a podok lehetnek rövid élettartamúak, és újraindulnak, feladatátvételt hajtanak végre vagy a Kubernetes-csomópontok között mozognak, a podhoz társított tárolók esetében az alábbi követelményeknek kell teljesülniük.

A tárolónak a következőnek kell lennie:

  • Élő kívül a pod.
  • Legyen független a pod életciklusától.
  • Legyen elérhető az összes Kubernetes-csomópontról.

A Kubernetes-tárolók kezelésének megértéséhez két API-erőforrást kell ismernie:

  • PersistentVolume (PV):: Ez egy tároló a Kubernetes-fürtben. A Kubernetes Storage statikusan kiosztható.PersistentVolume Dinamikusan is kiépítheti a StorageClasskövetkezőképpen: .

  • PersistentVolumeClaim (PVC):: Ez egy felhasználó által igényelt tárterület. A PVC-k MÉ-erőforrásokat használnak fel. A PVC-k adott méret- és hozzáférési módokat kérhetnek.

    Mivel a felhasználóknak különböző tulajdonságokkal kell PersistentVolumes rendelkeznie a különböző problémákhoz, ezért a fürt rendszergazdáinak PersistentVolumes több különböző lehetőséget kell kínálnia, mint a méret és a hozzáférési módok. Ezekhez az igényekhez szüksége van az erőforrásra StorageClass .

A tároló kiépítése statikus vagy dinamikus lehet. Az egyes kiépítési típusokat a következő szakaszok ismertetik.

Statikus kiépítés

A Kubernetes-fürt rendszergazdái statikusan is kiépíthetik a tárolót. Ehhez használhatják az SMB/NFS-fájlrendszereken alapuló háttérrendszereket, vagy használhatnak olyan iSCSI-lemezeket, amelyek helyileg csatlakoznak a hálózaton egy helyszíni környezetben, vagy akár azure-fájlokat vagy azure-lemezeket is használhatnak a felhőben. Ez a tárolótípus alapértelmezés szerint nincs kiépítve, és a fürt rendszergazdáinak meg kell tervezni és kezelniük ezt a kiépítést.

Az alábbi diagram a statikusan kiépített tárterület Kubernetesben való használatát mutatja be:

Static provisioning via PersistentVolumes

A következő lépések történnek:

  1. Tároló kiépítése: A fürt rendszergazdája kiosztja a tárterületet. Ebben a példában a fürt rendszergazdája létrehoz egy vagy több SMB-megosztást, amelyek automatikusan létrehoznak állandó kötetobjektumokat a Kubernetes-fürtben ezeknek a megosztásoknak megfelelően.

  2. Jogcímtároló: Elküld egy PVC-üzembe helyezést, amely a tárolót kéri. Ez a tárolási jogcím a PersistentVolumeClaim (PVC). Ha a PV mérete és hozzáférési módja megegyezik a PVC méretével, akkor a PVC a PV-hez van kötve. A PVC és a PV egy-az-egyhez megfeleltetése.

  3. PVC csatlakoztatása a tárolóhoz: Miután a PVC a PV-hez van kötve, csatlakoztathatja ezt a PVC-t a tároló egy útvonalára. Amikor a tárolóban lévő alkalmazáslogika beolvassa/beírja ezt az elérési utat, az adatok az SMB-tárolóba lesznek beírva.

Dinamikus kiépítés

Az alábbi diagram a statikusan kiépített tárterület Kubernetesben való használatát mutatja be:

Dynamic provisioning via StorageClasses

A következő lépések történnek:

  1. Tárolási osztály definiálása: A fürt rendszergazdája a Kubernetes-fürt működési környezetétől függően definiál egy tárolási osztályt. A fürt rendszergazdája üzembe helyez egy kiépítési szolgáltatót is, amely egy újabb pod vagy alkalmazás a Kubernetes-fürtön. A kiépítési szolgáltató rendelkezik a megosztások dinamikus kiépítéséhez szükséges összes részletkel.

  2. Tárterület igénylése: Olyan alkalmazást küld be, amely igényelné a tárterületet. Miután létrehozott egy PVC-t ezzel a tárolási osztályhivatkozással, a kiépítési modul meghívása megtörténik.

  3. Tároló dinamikus kiépítése: A kiépítési szolgáltató dinamikusan hozza létre a helyi lemeztárolóhoz társított megosztást. A megosztás létrehozása után a megosztásnak automatikusan megfelelő PV-objektumot is létrehoz.

  4. PVC csatlakoztatása tárolóhoz: Ha a PVC a PV-hez van kötve, csatlakoztathatja a PVC-t a tárolóhoz egy elérési útra, ugyanúgy, mint a statikus kiépítés, valamint a megosztásból való olvasás vagy írás.

Tároló kiépítése az Azure Stack Edge Pro-ban

Az Azure Stack Edge Pro-eszközön a statikus kiépítés PersistentVolumes az eszköz tárolási képességeivel jön létre. Ha kiépít egy megosztást, és a Megosztás használata Edge számítási lehetőséggel engedélyezve van, ez a művelet automatikusan létrehoz egy PV-erőforrást a Kubernetes-fürtben.

Local share creation in Azure portal for static provisioning

A felhőbeli rétegzés használatához létrehozhat egy Edge-felhőmegosztást a Megosztás használata az Edge számítási lehetőséggel engedélyezve. A rendszer ismét automatikusan létrehoz egy PV-t ehhez a megosztáshoz. Az Edge-megosztásba írt alkalmazásadatok a felhőbe vannak rétegzve.

Cloud share creation in Azure portal for static provisioning

SMB- és NFS-megosztásokat is létrehozhat a virtuális gépek statikus kiépítéséhez az Azure Stack Edge Pro-eszközön. A PV kiépítése után egy PVC-t fog küldeni a tároló igényléséhez. Íme egy példa egy PVC-telepítésre yaml , amely a tárolót állítja be, és a kiépített megosztásokat használja.

kind: PersistentVolumeClaim 
apiVersion: v1 
metadata: 
  name: pvc-smb-flexvol 
spec: 
  accessModes: 
  - ReadWriteMany 
  resources: 
    requests: 
      storage: 10Gi 
  volumeName: <nfs-or-smb-share-name-here> 
  storageClassName: ""

A mező értékének lekéréséhez válassza ki az Edge számítási modulok helyi csatlakoztatási volumeName pontját, amikor a létrehozás után kiválasztja az SMB- vagy NFS-megosztást. Ez megegyezik a megosztás nevével.

További információ: Állapotalapú alkalmazás üzembe helyezése statikus kiépítéssel az Azure Stack Edge Pro-on kubectlen keresztül.

Ugyanahhoz a statikusan kiépített tárolóhoz való hozzáféréshez az IoT-tárolókötések megfelelő kötetcsatlakoztatási beállításai a következők. Ez /home/input az az elérési út, amelyen a kötet elérhető a tárolón belül.

{
"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"
}]
}
}

Az Azure Stack Edge Pro StorageClass beépített neve ase-node-local a Kubernetes-csomóponthoz csatlakoztatott adatlemez-tárolót használja. Ez támogatja a StorageClass dinamikus kiépítést. Hivatkozhat StorageClass a podalkalmazásokban, és a rendszer automatikusan létrehoz egy PV-t. További információt a Kubernetes irányítópultján talál, amelyről lekérdezhet ase-node-local StorageClass.

Built-in storage class in Kubernetes dashboard

További információ: Állapotalapú alkalmazás üzembe helyezése dinamikus üzembe helyezéssel az Azure Stack Edge Pro-on a kuebctl használatával.

Tártípus kiválasztása

Előfordulhat, hogy a telepített számítási feladattól függően ki kell választania a tárolási típust.

  • Ha olyan hozzáférési módot PersistentVolumes szeretne, ReadWriteMany ahol a kötetek írásvédettként vannak csatlakoztatva számos üzembe helyezett csomóponttal, használjon statikus kiépítést az SMB/NFS-megosztásokhoz.

  • Ha az üzembe helyezendő alkalmazások POSIX-megfelelőségi követelményekkel rendelkeznek, például a MongoDB, a PostgreSQL, a MySQL vagy a Prometheus alkalmazásokhoz, használja a beépített StorageClass-ot. A hozzáférési módok vagy ReadWriteOnce a kötet egyetlen csomópont írásvédettként van csatlakoztatva.

A hozzáférési módokkal kapcsolatos további információkért lásd a Kubernetes-kötetek hozzáférési módját.

Következő lépések

A statikus kiépítés módjának megismeréséhez tekintse meg a következő témakört PersistentVolume:

Ha szeretné megtudni, hogyan építhet ki dinamikusan egy StorageClasselemet, tekintse meg a következőt: