Driftsättning, skalning och övervakning av Kubernetes-lagring

Introduktion till Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Persistent Volumes och Persistent Volume Claims

Persistent Volumes och Persistent Volume Claims

  • Grundläggande objekt för lagring: Persistent Volumes (PV), underhålls parallellt med Pods
  • PV:er kopplas till Pods via Persistent Volume Claims (PVC)
  • Ett kopplat PV bevarar data även när Pod:en stoppas, avslutas eller startas om
  • PV:er möjliggör separation av lagring och beräkning
Introduktion till Kubernetes

Storage Classes

Storage Classes

  • PV:er etableras antingen
    • manuellt av en Kubernetes-administratör
    • dynamiskt av en vanlig användare
  • Dynamisk etablering sker via Storage Classes (SC) utan manuell åtgärd
  • Storage Classes (SC):
    • definieras av Kubernetes-administratören
    • finns i olika typer (olika latens, t.ex. SSD vs HDD, olika säkerhetskopieringsstrategier)
  • Tveksam? Använd Storage Classes ;-)
Introduktion till Kubernetes

Allt ihop

  • Det finns bara tre objekt som hanterar lagring:

    • PersistentVolume
    • PersistentVolumeClaim
    • StorageClass
  • En Pod som behöver beständig data använder ett PersistentVolumeClaim

  • PVC:n instruerar Kubernetes att skapa ett PersistentVolume för Pod:en
  • Detta PersistentVolume kopplas till den begärande Pod:en
  • En namngiven StorageClass används och definierar detaljer som latens och säkerhetskopieringsstrategi för PV:t
  • Detta PersistentVolume bevaras (tillsammans med lagrad data) även när Pod:en avslutas
Introduktion till Kubernetes

Manifest-utdrag

Pod med PersistentVolume

apiVersion: v1
kind: Pod
...

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

PersistentVolumeClaim med StorageClass

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

spec: storageClassName: "standard" accessModes: - ReadWriteOnce
resources: requests: storage: 5Gi
Introduktion till Kubernetes

"kubectl"-kommandon för lagring

  • kubectl erbjuder en komplett uppsättning kommandon för att skapa och övervaka Kubernetes-lagring
  • Exempel:
    • kubectl get sc listar alla tillgängliga Storage Classes
    • kubectl get pvc listar alla driftsatta Persistent Volume Claims
    • kubectl get pv listar alla driftsatta Persistent Volumes
    • Som vanligt kan kubectl apply -f <manifest> användas för att driftsätta lagringsresurser som deklarerats i Manifests.
Introduktion till Kubernetes

Nu kör vi en övning!

Introduktion till Kubernetes

Preparing Video For Download...