Kubernetes Depolamayı Dağıtma, Ölçekleme ve İzleme

Kubernetes’e Giriş

Frank Heilmann

Platform Architect and Freelance Instructor

Persistent Volumes ve Persistent Volume Claims

Persistent Volumes ve Persistent Volume Claims

  • Depolama için temel nesneler: Persistent Volumes (PV), Pod’lardan bağımsız yönetilir
  • PV’ler Persistent Volume Claims (PVC) ile Pod’lara eşlenir
  • Eşlenen bir PV, Pod durduğunda, öldürüldüğünde veya yeniden başlatıldığında veri kalıcılığı sağlar
  • PV’ler depolama ile hesaplamayı ayırır
Kubernetes’e Giriş

Storage Class’lar

Storage Classes

  • PV’ler ya
    • bir Kubernetes yöneticisi tarafından elle
    • bir normal kullanıcı tarafından dinamik olarak
  • Dinamik sağlama, Storage Class (SC) ile insan müdahalesi olmadan yapılır
  • Storage Class (SC):

    • Kubernetes yöneticisi tarafından tanımlanır
    • farklı türler (farklı gecikme, ör. SSD vs HDD, farklı yedekleme stratejileri)
  • Emin değilseniz, Storage Class kullanın ;-)

Kubernetes’e Giriş

Hepsini bir araya getirmek

  • Depolamayı çalıştıran yalnızca üç nesne vardır:

    • PersistentVolume
    • PersistentVolumeClaim
    • StorageClass
  • Kalıcı veri isteyen bir Pod, bir PersistentVolumeClaim kullanır

  • Bu PVC, Pod için bir PersistentVolume oluşturulmasını sağlar
  • Bu PersistentVolume, talepte bulunan Pod’a eşlenir
  • Gecikme ve yedekleme stratejisi gibi ayrıntıları tanımlayan adlandırılmış bir StorageClass kullanılır
  • Bu PersistentVolume (depolanan verilerle birlikte), Pod sonlandırılsa bile varlığını sürdürür
Kubernetes’e Giriş

Manifest Parçaları

PersistentVolume’lu Pod

apiVersion: v1
kind: Pod
...

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

StorageClass’lı PersistentVolumeClaim

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

spec: storageClassName: "standard" accessModes: - ReadWriteOnce
resources: requests: storage: 5Gi
Kubernetes’e Giriş

Depolama için "kubectl" Komutları

  • kubectl, Kubernetes Depolama oluşturmak ve izlemek için tam bir komut seti sunar
  • Örnekler:
    • kubectl get sc tüm Storage Class’ları listeler
    • kubectl get pvc tüm dağıtılmış Persistent Volume Claim’leri listeler
    • kubectl get pv tüm dağıtılmış Persistent Volume’leri listeler
    • Her zamanki gibi, Bildirgelerde tanımlı depolama kaynaklarını dağıtmak için kubectl apply -f <manifest> kullanılabilir.
Kubernetes’e Giriş

Hadi pratik yapalım!

Kubernetes’e Giriş

Preparing Video For Download...