Nasazení, škálování a monitorování úložiště Kubernetes

Úvod do Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Persistent Volumes a Persistent Volume Claims

Persistent Volumes a Persistent Volume Claims

  • Základní objekty pro úložiště: Persistent Volumes (PV), spravované paralelně s Pody
  • PV jsou mapovány na Pody pomocí Persistent Volume Claims (PVC)
  • Namapovaný PV zajišťuje persistenci dat při zastavení, ukončení nebo restartu Podu
  • PV umožňují oddělení úložiště od výpočetních prostředků
Úvod do Kubernetes

Storage Classes

Storage Classes

  • PV: zřizovány buď
    • ručně administrátorem Kubernetes
    • dynamicky běžným uživatelem
  • Dynamické zřizování probíhá prostřednictvím Storage Classes (SC) bez lidského zásahu
  • Storage Classes (SC):
    • definovány administrátorem Kubernetes
    • různé typy (různá latence, např. SSD vs HDD, různé strategie zálohování)
  • V případě pochybností použijte Storage Classes ;-)
Úvod do Kubernetes

Vše dohromady

  • Úložiště zajišťují pouze tři objekty:

    • PersistentVolume
    • PersistentVolumeClaim
    • StorageClass
  • Pod vyžadující persistenci dat používá PersistentVolumeClaim

  • Tento PVC zajistí vytvoření PersistentVolume pro daný Pod
  • Tento PersistentVolume je namapován na žádající Pod
  • Použije se pojmenovaný StorageClass, který definuje latenci a strategii zálohování PV
  • Tento PersistentVolume přetrvá (včetně uložených dat), i když je Pod ukončen
Úvod do Kubernetes

Ukázky manifestů

Pod s PersistentVolume

apiVersion: v1
kind: Pod
...

spec: containers: ... volumeMounts: - name: pv-mydata mountPath: /mydata
volumes: - name: pv-mydata persistentVolumeClaim: claimName: datacamp-pvc

PersistentVolumeClaim se StorageClass

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: datacamp-pvc

spec: storageClassName: "standard" accessModes: - ReadWriteOnce
resources: requests: storage: 5Gi
Úvod do Kubernetes

Příkazy `kubectl` pro úložiště

  • kubectl nabízí kompletní sadu příkazů pro vytváření a monitorování úložiště Kubernetes
  • Příklady:
    • kubectl get sc vypíše všechny dostupné Storage Classes
    • kubectl get pvc vypíše všechny nasazené Persistent Volume Claims
    • kubectl get pv vypíše všechny nasazené Persistent Volumes
    • Jako obvykle, kubectl apply -f <manifest> slouží k nasazení úložných prostředků deklarovaných v manifestech.
Úvod do Kubernetes

Pojďme si procvičit!

Úvod do Kubernetes

Preparing Video For Download...