Özet - PV ve PVC
- Docker & Kubernetes kursu
- İleri seviye
- Ders 36/70
- 5 dk
PV, PVC ve bağlamayı birleştirerek kalıcı depolama kurarsın.
Özet: PV ve PVC
Bu grupta:
- PV cluster'daki depolama parçasıdır; pod'dan bağımsız yaşar.
Retainveriyi korur,Deletediski siler. - PVC bir depolama isteğidir; uygun PV'ye bağlanır (
Bound). - StorageClass dinamik PV oluşturur:
provisioner,parameters,allowVolumeExpansion,WaitForFirstConsumer. - Erişim modları: RWO, ROX, RWX, RWOP; RWO disk tek node'a bağlanır (Multi-Attach hatası).
- Pod PVC'yi
persistentVolumeClaim.claimNameile bağlar; veri pod silinince kalır.
kubectl get sc,pv,pvc
kubectl describe pvc api-veriUygulama Depolamayı büyüt
Üç komut yaz: StorageClass, PV ve PVC'leri tek komutta listele; api-veri PVC'sini {"spec":{"resources":{"requests":{"storage":"10Gi"}}}} yamasıyla büyüt; api-veri'yi ayrıntılı göster.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl get sc,pv,pvc
kubectl patch pvc api-veri -p '{"spec":{"resources":{"requests":{"storage":"10Gi"}}}}'
kubectl describe pvc api-veriBeklenen çıktı
NAME PROVISIONER storageclass.storage.k8s.io/standard (default) k8s.io/minikube-hostpath NAME CAPACITY STATUS CLAIM persistentvolume/pvc-9c1d… 5Gi Bound default/api-veri persistentvolumeclaim/api-veri patched Name: api-veri Capacity: 10Gi
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 PVC Pending'de kalıyor ve olayda "storageclass not found" yazıyor. Çözüm nedir?
- storageClassName'i var olan bir sınıfa düzeltmek ya da o sınıfı oluşturmak Doğru cevap
- Pod'u yeniden başlatmak
- Boyutu küçültmek
- Namespace değiştirmek
Açıklama: kubectl get storageclass mevcut sınıfları listeler.
2 StorageClass, PV ve PVC'leri birlikte listele.
kubectl get ____,pv,pvc
kubectl get sc,pv,pvc
Açıklama: sc storageclasses'in kısaltmasıdır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
PV |
Depolama |
PVC |
İstek |
StorageClass |
Otomatik oluşturma |
claimName |
Pod bağlantısı |