{"id":40388,"date":"2026-02-26T15:00:41","date_gmt":"2026-02-26T12:00:41","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/"},"modified":"2026-02-26T15:00:41","modified_gmt":"2026-02-26T12:00:41","slug":"kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/","title":{"rendered":"Kubernetes&#8217;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131"},"content":{"rendered":"<h2>Kubernetes&#8217;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131<\/h2>\n<p>Kubernetes, konteynerli uygulamalar\u0131 da\u011f\u0131tmak ve y\u00f6netmek i\u00e7in end\u00fcstri standard\u0131 haline gelmi\u015f g\u00fc\u00e7l\u00fc bir platformdur. Ancak, durum bilgisi olan (stateful) uygulamalar\u0131n y\u00f6netimi, \u00f6zellikle depolama taraf\u0131nda, kendine \u00f6zg\u00fc zorluklar bar\u0131nd\u0131r\u0131r. Uygulamalar\u0131n verilerini kal\u0131c\u0131 olarak saklamas\u0131 gerekti\u011finde, depolama kaynaklar\u0131n\u0131n dinamik, esnek ve otomatik bir \u015fekilde sa\u011flanmas\u0131 kritik \u00f6nem ta\u015f\u0131r. \u0130\u015fte tam bu noktada Kubernetes&#8217;in StorageClass kaynaklar\u0131 devreye girerek, depolama altyap\u0131s\u0131n\u0131n soyutlanmas\u0131n\u0131 ve otomasyonunu sa\u011flayarak bu karma\u015f\u0131kl\u0131\u011f\u0131 ortadan kald\u0131r\u0131r.<\/p>\n<h3>Kubernetes&#8217;te Kal\u0131c\u0131 Depolaman\u0131n \u00d6nemi ve Zorluklar\u0131<\/h3>\n<p>Konteyner teknolojisi, uygulamalar\u0131n h\u0131zl\u0131 bir \u015fekilde \u00f6l\u00e7eklenmesini ve ta\u015f\u0131nabilirli\u011fini sa\u011flarken, durum bilgisi olan uygulamalar i\u00e7in veri kal\u0131c\u0131l\u0131\u011f\u0131 ve eri\u015filebilirli\u011fi temel bir gereksinimdir.<\/p>\n<h4>Stateless ve Stateful Uygulamalar Aras\u0131ndaki Fark<\/h4>\n<p>Stateless uygulamalar, oturum bilgilerini veya verilerini kendi i\u00e7inde tutmazlar; her istek ba\u011f\u0131ms\u0131zd\u0131r. Bu t\u00fcr uygulamalar\u0131n \u00f6l\u00e7eklenmesi ve y\u00f6netimi nispeten daha kolayd\u0131r. Ancak, veritabanlar\u0131, mesaj kuyruklar\u0131 veya dosya sunucular\u0131 gibi stateful uygulamalar, verilerini kal\u0131c\u0131 olarak saklamak ve bu verilere s\u00fcrekli eri\u015fim sa\u011flamak zorundad\u0131r. Bu durum, konteynerlerin ge\u00e7ici do\u011fas\u0131yla \u00e7eli\u015fir ve \u00f6zel depolama \u00e7\u00f6z\u00fcmleri gerektirir.<\/p>\n<h4>Geleneksel Depolama Y\u00f6netiminin S\u0131n\u0131rlamalar\u0131<\/h4>\n<p>Kubernetes \u00f6ncesinde veya StorageClass kullan\u0131lmad\u0131\u011f\u0131nda, depolama y\u00f6netimi genellikle manuel s\u00fcre\u00e7ler i\u00e7eriyordu. Bir geli\u015ftiricinin veya operasyon ekibinin, bir uygulaman\u0131n depolama ihtiyac\u0131 oldu\u011funda, altyap\u0131 ekibinden belirli bir boyutta ve \u00f6zellikte depolama alan\u0131 talep etmesi, bu alan\u0131n fiziksel olarak veya sanal olarak olu\u015fturulmas\u0131, Kubernetes k\u00fcmesine tan\u0131t\u0131lmas\u0131 ve ard\u0131ndan uygulamaya ba\u011flanmas\u0131 gerekiyordu. Bu s\u00fcre\u00e7 yava\u015f, hataya a\u00e7\u0131k ve otomasyona elveri\u015fli de\u011fildi, \u00f6zellikle dinamik \u00f6l\u00e7eklenen ortamlarda b\u00fcy\u00fck bir darbo\u011faz olu\u015fturuyordu.<\/p>\n<h4>Persistent Volumes (PV) ve Persistent Volume Claims (PVC) Kavramlar\u0131<\/h4>\n<p>Kubernetes, kal\u0131c\u0131 depolama sorununu \u00e7\u00f6zmek i\u00e7in Persistent Volume (PV) ve Persistent Volume Claim (PVC) ad\u0131nda iki temel API nesnesi sunar. PV&#8217;ler, k\u00fcmedeki mevcut depolama kaynaklar\u0131n\u0131 (\u00f6rne\u011fin, bir AWS EBS birimi, NFS payla\u015f\u0131m\u0131) soyutlayan ve y\u00f6neten k\u00fcme d\u00fczeyinde kaynaklard\u0131r. PVC&#8217;ler ise, bir uygulaman\u0131n (Pod&#8217;un) belirli bir boyutta ve eri\u015fim modunda depolama talebini ifade eden kullan\u0131c\u0131 d\u00fczeyinde kaynaklard\u0131r. Uygulama geli\u015ftiricileri, do\u011frudan PV&#8217;lerle u\u011fra\u015fmak yerine, ihtiya\u00e7 duyduklar\u0131 depolamay\u0131 bir PVC arac\u0131l\u0131\u011f\u0131yla talep ederler. Ancak, bir PVC&#8217;nin bir PV ile e\u015fle\u015fmesi ve ba\u011flanmas\u0131 s\u00fcreci, manuel olarak y\u00f6netildi\u011finde yine karma\u015f\u0131k olabilir. \u0130\u015fte bu noktada StorageClass devreye girer.<\/p>\n<h3>StorageClass Nedir? Temel Tan\u0131m ve Amac\u0131<\/h3>\n<p>StorageClass, Kubernetes&#8217;te dinamik depolama sa\u011flaman\u0131n temelini olu\u015fturan bir API nesnesidir. Temel amac\u0131, farkl\u0131 depolama t\u00fcrlerini ve \u00f6zelliklerini soyutlamak ve bu depolama birimlerinin otomatik olarak, talep \u00fczerine (on-demand) olu\u015fturulmas\u0131n\u0131 sa\u011flamakt\u0131r.<\/p>\n<h4>Depolama Abstraksiyonu ve Otomasyon<\/h4>\n<p>StorageClass, altyap\u0131 y\u00f6neticilerinin farkl\u0131 depolama katmanlar\u0131n\u0131 (\u00f6rne\u011fin, y\u00fcksek performansl\u0131 SSD&#8217;ler, maliyet-etkin HDD&#8217;ler, yedekli depolama) tan\u0131mlamas\u0131na olanak tan\u0131r. Uygulama geli\u015ftiricileri ise, bu depolama katmanlar\u0131n\u0131n arkas\u0131ndaki karma\u015f\u0131k altyap\u0131 detaylar\u0131n\u0131 bilmek zorunda kalmadan, sadece ihtiya\u00e7 duyduklar\u0131 &#8220;depolama s\u0131n\u0131f\u0131n\u0131&#8221; (\u00f6rne\u011fin, &#8220;premium-ssd&#8221; veya &#8220;standard-hdd&#8221;) belirterek depolama talep edebilirler. Bu sayede, depolama sa\u011flama s\u00fcreci tamamen otomatikle\u015fir ve uygulamalar\u0131n depolama ihtiya\u00e7lar\u0131 an\u0131nda kar\u015f\u0131lanabilir.<\/p>\n<h4>StorageClass Bile\u015fenleri: Provisioner, Parameters, ReclaimPolicy<\/h4>\n<p>Bir StorageClass nesnesi, dinamik depolama sa\u011flamak i\u00e7in \u00e7e\u015fitli alanlar i\u00e7erir:<\/p>\n<ul>\n<li><strong><code>provisioner<\/code>:<\/strong> Hangi depolama sa\u011flay\u0131c\u0131s\u0131n\u0131n (\u00f6rne\u011fin, AWS EBS, Google Persistent Disk, Azure Disk, NFS) depolama birimlerini olu\u015fturaca\u011f\u0131n\u0131 belirtir. Bu, genellikle bir bulut sa\u011flay\u0131c\u0131s\u0131n\u0131n yerel depolama s\u00fcr\u00fcc\u00fcs\u00fc veya bir CSI (Container Storage Interface) s\u00fcr\u00fcc\u00fcs\u00fc olabilir.<\/li>\n<li><strong><code>parameters<\/code>:<\/strong> Sa\u011flay\u0131c\u0131ya \u00f6zg\u00fc yap\u0131land\u0131rma ayarlar\u0131n\u0131 i\u00e7erir. \u00d6rne\u011fin, bir AWS EBS i\u00e7in disk tipi (gp2, io1), IOPS de\u011feri veya \u015fifreleme ayarlar\u0131 burada belirtilebilir.<\/li>\n<li><strong><code>reclaimPolicy<\/code>:<\/strong> \u0130lgili Persistent Volume (PV) silindi\u011finde, temel al\u0131nan fiziksel depolama birimine ne olaca\u011f\u0131n\u0131 belirler. Yayg\u0131n de\u011ferler aras\u0131nda <code>Delete<\/code> (PV silindi\u011finde depolama birimi de silinir) ve <code>Retain<\/code> (PV silinse bile depolama birimi korunur) bulunur.<\/li>\n<\/ul>\n<h4>Varsay\u0131lan StorageClass ve \u00d6nemi<\/h4>\n<p>Bir Kubernetes k\u00fcmesinde birden fazla StorageClass tan\u0131mlanabilir. Y\u00f6neticiler, bunlardan birini varsay\u0131lan (default) olarak i\u015faretleyebilirler. Bir Persistent Volume Claim (PVC) olu\u015fturuldu\u011funda ve belirli bir StorageClass belirtilmedi\u011finde, k\u00fcmedeki varsay\u0131lan StorageClass kullan\u0131l\u0131r. Bu, uygulama geli\u015ftiricileri i\u00e7in depolama talebini daha da basitle\u015ftirir, \u00e7\u00fcnk\u00fc \u00e7o\u011fu zaman StorageClass ad\u0131n\u0131 belirtmelerine bile gerek kalmaz.<\/p>\n<h3>StorageClass Nas\u0131l \u00c7al\u0131\u015f\u0131r? Dinamik Depolama Sa\u011flama S\u00fcreci<\/h3>\n<p>StorageClass&#8217;\u0131n en \u00f6nemli \u00f6zelli\u011fi, Persistent Volume Claim (PVC) taleplerine yan\u0131t olarak dinamik olarak Persistent Volume (PV) olu\u015fturabilmesidir. Bu, depolama y\u00f6netimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirir ve otomatikle\u015ftirir.<\/p>\n<h4>PVC&#8217;den PV&#8217;ye Otomatik Ba\u011flama<\/h4>\n<p>Bir kullan\u0131c\u0131 veya uygulama, bir PVC olu\u015fturdu\u011funda ve bu PVC&#8217;de bir StorageClass ad\u0131 belirtti\u011finde (veya varsay\u0131lan StorageClass kullan\u0131ld\u0131\u011f\u0131nda), Kubernetes kontrol d\u00fczlemi devreye girer. \u0130lgili StorageClass taraf\u0131ndan tan\u0131mlanan <code>provisioner<\/code>, bu talebi al\u0131r ve temel depolama altyap\u0131s\u0131nda (\u00f6rne\u011fin, AWS&#8217;de yeni bir EBS birimi, bir NFS sunucusunda yeni bir dizin) gerekli depolama birimini otomatik olarak olu\u015fturur. Bu yeni olu\u015fturulan depolama birimi i\u00e7in otomatik olarak bir Persistent Volume (PV) nesnesi olu\u015fturulur ve bu PV, talep eden PVC ile e\u015fle\u015ftirilir. Bu s\u00fcre\u00e7 tamamen otomatiktir ve manuel m\u00fcdahale gerektirmez.<\/p>\n<h4>Depolama Sa\u011flay\u0131c\u0131lar\u0131 (Provisioner&#8217;lar) ve Rolleri<\/h4>\n<p><code>provisioner<\/code> alan\u0131, StorageClass&#8217;\u0131n kalbidir. Bu alan, hangi harici depolama sisteminin depolama birimlerini y\u00f6netece\u011fini ve olu\u015fturaca\u011f\u0131n\u0131 belirtir. Kubernetes, \u00e7e\u015fitli bulut sa\u011flay\u0131c\u0131lar\u0131 (<code>kubernetes.io\/aws-ebs<\/code>, <code>kubernetes.io\/gce-pd<\/code>, <code>kubernetes.io\/azure-disk<\/code> vb.) i\u00e7in yerle\u015fik provisioner&#8217;lara sahiptir. Ayr\u0131ca, CSI (Container Storage Interface) s\u00fcr\u00fcc\u00fcleri sayesinde, \u00fc\u00e7\u00fcnc\u00fc taraf depolama \u00e7\u00f6z\u00fcmleri (\u00f6rne\u011fin, Ceph, NetApp, Portworx) i\u00e7in de \u00f6zel provisioner&#8217;lar geli\u015ftirilebilir. Her provisioner, kendi depolama sisteminin API&#8217;si ile etkile\u015fime girerek depolama birimlerini olu\u015fturur, siler ve y\u00f6netir.<\/p>\n<h4>Depolama Ya\u015fam D\u00f6ng\u00fcs\u00fc Y\u00f6netimi<\/h4>\n<p>Dinamik sa\u011flama, depolama birimlerinin sadece olu\u015fturulmas\u0131n\u0131 de\u011fil, ayn\u0131 zamanda ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn y\u00f6netilmesini de i\u00e7erir. Bir Pod, bir PVC&#8217;yi kullanarak depolama birimine ba\u011fland\u0131\u011f\u0131nda, veri yazabilir ve okuyabilir. Pod sonland\u0131r\u0131ld\u0131\u011f\u0131nda bile, PVC ve PV varl\u0131\u011f\u0131n\u0131 s\u00fcrd\u00fcr\u00fcr, b\u00f6ylece veriler kal\u0131c\u0131 olur. PVC silindi\u011finde ise, StorageClass&#8217;ta tan\u0131mlanan <code>reclaimPolicy<\/code>&#8216;ye g\u00f6re temel depolama birimi ya silinir ya da korunur. Bu otomasyon, depolama kaynaklar\u0131n\u0131n etkin bir \u015fekilde kullan\u0131lmas\u0131n\u0131 ve y\u00f6netilmesini sa\u011flar.<\/p>\n<h3>StorageClass Tan\u0131mlama ve Yap\u0131land\u0131rma Detaylar\u0131<\/h3>\n<p>Bir StorageClass nesnesi, YAML format\u0131nda tan\u0131mlan\u0131r ve <code>kubectl apply -f <dosya.yaml><\/code> komutuyla Kubernetes k\u00fcmesine da\u011f\u0131t\u0131l\u0131r.<\/p>\n<h4>YAML Yap\u0131s\u0131 ve Zorunlu Alanlar<\/h4>\n<p>Temel bir StorageClass tan\u0131m\u0131 a\u015fa\u011f\u0131daki gibi g\u00f6r\u00fcn\u00fcr:<\/p>\n<pre><code class=\"language-yaml\">\napiVersion: storage.k8s.io\/v1\nkind: StorageClass\nmetadata:\n  name: fast-storage\nprovisioner: kubernetes.io\/aws-ebs\nparameters:\n  type: gp2\n  fsType: ext4\nreclaimPolicy: Delete\nvolumeBindingMode: Immediate\nallowVolumeExpansion: true\nmountOptions:\n  - debug\n<\/pre>\n<p><\/code><\/p>\n<p>Burada <code>apiVersion<\/code>, <code>kind<\/code> ve <code>metadata.name<\/code> standart Kubernetes alanlar\u0131d\u0131r. <code>provisioner<\/code> ve <code>parameters<\/code> alanlar\u0131, dinamik sa\u011flama i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4><code>provisioner<\/code> ve <code>parameters<\/code> Kullan\u0131m\u0131<\/h4>\n<p><code>provisioner<\/code> alan\u0131, hangi depolama eklentisinin kullan\u0131laca\u011f\u0131n\u0131 belirtir. \u00d6rne\u011fin, AWS EBS i\u00e7in <code>kubernetes.io\/aws-ebs<\/code>, Google Cloud Persistent Disk i\u00e7in <code>kubernetes.io\/gce-pd<\/code> kullan\u0131l\u0131r. <code>parameters<\/code> alan\u0131 ise, se\u00e7ilen provisioner'a \u00f6zg\u00fc yap\u0131land\u0131rma ayarlar\u0131n\u0131 bir anahtar-de\u011fer \u00e7ifti olarak al\u0131r. \u00d6rne\u011fin, AWS EBS i\u00e7in <code>type: gp2<\/code> (genel ama\u00e7l\u0131 SSD), <code>iopsPerGB: \"10\"<\/code> (IOPS de\u011feri) gibi parametreler verilebilir. Bu parametreler, depolama biriminin performans\u0131n\u0131, maliyetini ve \u00f6zelliklerini do\u011frudan etkiler.<\/p>\n<h4><code>reclaimPolicy<\/code>, <code>volumeBindingMode<\/code> ve Di\u011fer Se\u00e7enekler<\/h4>\n<ul>\n<li><strong><code>reclaimPolicy<\/code>:<\/strong> Daha \u00f6nce bahsedildi\u011fi gibi, PV silindi\u011finde temel depolama birimine ne olaca\u011f\u0131n\u0131 belirler (<code>Delete<\/code> veya <code>Retain<\/code>). \u00c7o\u011fu dinamik olarak sa\u011flanan PV i\u00e7in <code>Delete<\/code> tercih edilir.<\/li>\n<li><strong><code>volumeBindingMode<\/code>:<\/strong> PV ba\u011flama i\u015fleminin ne zaman ger\u00e7ekle\u015fece\u011fini kontrol eder.\n<ul>\n<li><code>Immediate<\/code> (Varsay\u0131lan): PVC olu\u015fturulur olu\u015fturulmaz PV ba\u011flama ve depolama sa\u011flama i\u015flemi ba\u015flar.<\/li>\n<li><code>WaitForFirstConsumer<\/code>: PV ba\u011flama ve depolama sa\u011flama i\u015flemi, PVC'yi kullanan ilk Pod'un olu\u015fturulmas\u0131n\u0131 bekler. Bu, \u00f6zellikle topolojiye duyarl\u0131 depolama sistemleri (\u00f6rne\u011fin, belirli bir b\u00f6lgede veya d\u00fc\u011f\u00fcmde olmas\u0131 gereken depolama) i\u00e7in faydal\u0131d\u0131r, \u00e7\u00fcnk\u00fc PV, Pod'un planland\u0131\u011f\u0131 d\u00fc\u011f\u00fcme yak\u0131n bir yerde olu\u015fturulabilir.<\/li>\n<\/ul>\n<\/li>\n<li><strong><code>allowVolumeExpansion<\/code>:<\/strong> Bu ayar <code>true<\/code> olarak ayarland\u0131\u011f\u0131nda, kullan\u0131c\u0131lar\u0131n PVC'nin boyutunu art\u0131rmas\u0131na olanak tan\u0131r. Bu \u00f6zellik, depolama ihtiya\u00e7lar\u0131 zamanla artan uygulamalar i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><strong><code>mountOptions<\/code>:<\/strong> Depolama birimi bir Pod'a ba\u011fland\u0131\u011f\u0131nda kullan\u0131lacak ek ba\u011flama se\u00e7eneklerini (\u00f6rne\u011fin, <code>noatime<\/code>, <code>debug<\/code>) belirtir.<\/li>\n<\/ul>\n<h4>Kod \u00d6rne\u011fi: Basit Bir StorageClass Tan\u0131m\u0131<\/h4>\n<p>A\u015fa\u011f\u0131da, Google Cloud Platform'da standart bir Persistent Disk olu\u015fturacak bir StorageClass \u00f6rne\u011fi ve bu StorageClass'\u0131 kullanan bir PVC \u00f6rne\u011fi verilmi\u015ftir:<\/p>\n<pre><code class=\"language-yaml\">\n# storageclass-gce-standard.yaml\napiVersion: storage.k8s.io\/v1\nkind: StorageClass\nmetadata:\n  name: gce-standard-storage\nprovisioner: kubernetes.io\/gce-pd\nparameters:\n  type: pd-standard # Standart Persistent Disk tipi\n  fsType: ext4\nreclaimPolicy: Delete\nvolumeBindingMode: WaitForFirstConsumer\nallowVolumeExpansion: true\n---\n# pvc-example.yaml\napiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  name: my-app-pvc\nspec:\n  accessModes:\n    - ReadWriteOnce\n  storageClassName: gce-standard-storage # Yukar\u0131daki StorageClass'\u0131 referans al\u0131yoruz\n  resources:\n    requests:\n      storage: 10Gi # 10 GB depolama alan\u0131 talebi\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte, <code>gce-standard-storage<\/code> adl\u0131 StorageClass, <code>kubernetes.io\/gce-pd<\/code> provisioner'\u0131n\u0131 kullanarak <code>pd-standard<\/code> tipinde diskler olu\u015fturur. <code>my-app-pvc<\/code> adl\u0131 PVC ise bu StorageClass'\u0131 referans alarak 10 GB'l\u0131k bir depolama birimi talep eder.<\/p>\n<h3>Farkl\u0131 Depolama T\u00fcrleri \u0130\u00e7in StorageClass Uygulamalar\u0131<\/h3>\n<p>StorageClass'lar, \u00e7ok \u00e7e\u015fitli depolama teknolojileriyle entegre olabilir, bu da Kubernetes'i farkl\u0131 altyap\u0131larda esnek k\u0131lar.<\/p>\n<h4>Bulut Tabanl\u0131 Depolama \u00c7\u00f6z\u00fcmleri (AWS EBS, Azure Disk, GCE PD)<\/h4>\n<p>Her b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131s\u0131, Kubernetes ile entegre olan kendi depolama hizmetlerine sahiptir. \u00d6rne\u011fin:<\/p>\n<ul>\n<li><strong>AWS EBS:<\/strong> <code>kubernetes.io\/aws-ebs<\/code> provisioner'\u0131 ile <code>gp2<\/code>, <code>gp3<\/code>, <code>io1<\/code> gibi farkl\u0131 EBS tiplerini ve IOPS\/throughput ayarlar\u0131n\u0131 belirten StorageClass'lar olu\u015fturulabilir.<\/li>\n<li><strong>Azure Disk:<\/strong> <code>kubernetes.io\/azure-disk<\/code> provisioner'\u0131 ile <code>Standard_LRS<\/code>, <code>Premium_LRS<\/code> gibi farkl\u0131 disk tipleri kullan\u0131labilir.<\/li>\n<li><strong>Google Cloud Persistent Disk:<\/strong> <code>kubernetes.io\/gce-pd<\/code> provisioner'\u0131 ile <code>pd-standard<\/code>, <code>pd-ssd<\/code> gibi disk tipleri ve b\u00f6lgeler aras\u0131 replikasyon se\u00e7enekleri yap\u0131land\u0131r\u0131labilir.<\/li>\n<\/ul>\n<p>Bu entegrasyonlar, bulut ortamlar\u0131nda \u00e7al\u0131\u015fan Kubernetes k\u00fcmelerinin, bulutun sundu\u011fu esnek ve \u00f6l\u00e7eklenebilir depolama yeteneklerinden tam olarak faydalanmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>\u015eirket \u0130\u00e7i (On-Premise) ve A\u011f Depolama (NFS, Ceph, Local Path)<\/h4>\n<p>Bulut d\u0131\u015f\u0131ndaki ortamlarda da StorageClass'lar yayg\u0131n olarak kullan\u0131l\u0131r:<\/p>\n<ul>\n<li><strong>NFS:<\/strong> Bir NFS sunucusunu kullanan dinamik provisioner'lar mevcuttur. Bu provisioner'lar, her PVC i\u00e7in NFS sunucusunda ayr\u0131 bir dizin olu\u015fturarak depolama sa\u011flar.<\/li>\n<li><strong>Ceph RBD\/CephFS:<\/strong> Ceph gibi da\u011f\u0131t\u0131k depolama sistemleri, CSI s\u00fcr\u00fcc\u00fcleri arac\u0131l\u0131\u011f\u0131yla Kubernetes ile derinlemesine entegre olabilir. Bu sayede, y\u00fcksek performansl\u0131 ve yedekli depolama birimleri dinamik olarak sa\u011flanabilir.<\/li>\n<li><strong>Local Path Provisioner:<\/strong> Geli\u015ftirme veya test ortamlar\u0131 i\u00e7in, d\u00fc\u011f\u00fcmlerin yerel disklerindeki belirli yollar\u0131 depolama olarak kullanan basit provisioner'lar da mevcuttur.<\/li>\n<\/ul>\n<h4>CSI (Container Storage Interface) ve Esneklik<\/h4>\n<p>CSI, Kubernetes'in depolama eklentileri i\u00e7in standart bir aray\u00fczd\u00fcr. Bu aray\u00fcz sayesinde, depolama sa\u011flay\u0131c\u0131lar\u0131 kendi CSI s\u00fcr\u00fcc\u00fclerini geli\u015ftirerek Kubernetes ile entegre olabilirler. Bu, Kubernetes'in belirli bir depolama teknolojisine ba\u011fl\u0131 kalmadan, \u00e7ok \u00e7e\u015fitli depolama \u00e7\u00f6z\u00fcmlerini desteklemesini sa\u011flar. Bir\u00e7ok modern depolama \u00e7\u00f6z\u00fcm\u00fc, CSI s\u00fcr\u00fcc\u00fcleri arac\u0131l\u0131\u011f\u0131yla StorageClass entegrasyonu sunar.<\/p>\n<h3>StorageClass Kullan\u0131m Senaryolar\u0131 ve En \u0130yi Uygulamalar<\/h3>\n<p>StorageClass'lar, sadece dinamik sa\u011flama i\u00e7in de\u011fil, ayn\u0131 zamanda depolama y\u00f6netimini optimize etmek ve farkl\u0131 uygulama ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in de g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<h4>Performans ve Maliyet Optimizasyonu<\/h4>\n<p>Farkl\u0131 performans seviyelerine sahip StorageClass'lar tan\u0131mlayarak, uygulamalar\u0131n ihtiya\u00e7lar\u0131na g\u00f6re do\u011fru depolama t\u00fcr\u00fcn\u00fc se\u00e7ebilirsiniz. \u00d6rne\u011fin, bir veritaban\u0131 i\u00e7in y\u00fcksek IOPS'li bir \"premium-ssd\" StorageClass'\u0131 kullan\u0131rken, log dosyalar\u0131 i\u00e7in daha d\u00fc\u015f\u00fck maliyetli bir \"standard-hdd\" StorageClass'\u0131 tercih edebilirsiniz. Bu, hem performans\u0131 optimize eder hem de gereksiz depolama maliyetlerinden ka\u00e7\u0131nman\u0131z\u0131 sa\u011flar.<\/p>\n<h4>Veri G\u00fcvenli\u011fi ve Yedekleme Stratejileri<\/h4>\n<p>Baz\u0131 StorageClass provisioner'lar\u0131, \u015fifreleme veya anl\u0131k g\u00f6r\u00fcnt\u00fc (snapshot) alma gibi geli\u015fmi\u015f g\u00fcvenlik ve veri koruma \u00f6zelliklerini destekler. Bu \u00f6zellikler, hassas verileri korumak ve olas\u0131 veri kay\u0131plar\u0131na kar\u015f\u0131 kurtarma stratejileri olu\u015fturmak i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, bir StorageClass tan\u0131m\u0131nda disk \u015fifrelemesini zorunlu k\u0131labilirsiniz.<\/p>\n<h4>Uygulama \u0130htiya\u00e7lar\u0131na G\u00f6re Depolama Se\u00e7imi<\/h4>\n<p>Farkl\u0131 uygulamalar\u0131n farkl\u0131 depolama ihtiya\u00e7lar\u0131 vard\u0131r. Bir web sunucusu belki sadece k\u00fc\u00e7\u00fck bir dosya sistemi isterken, bir b\u00fcy\u00fck veri analizi uygulamas\u0131 terabaytlarca depolama ve y\u00fcksek bant geni\u015fli\u011fi gerektirebilir. StorageClass'lar sayesinde, her uygulama i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f depolama s\u0131n\u0131flar\u0131 sunulabilir. Bu, geli\u015ftiricilerin uygulamalar\u0131n\u0131 daha verimli bir \u015fekilde da\u011f\u0131tmalar\u0131na olanak tan\u0131r.<\/p>\n<h4>Monitoring ve Y\u00f6netim<\/h4>\n<p>StorageClass'lar\u0131n etkin bir \u015fekilde kullan\u0131lmas\u0131, depolama kaynaklar\u0131n\u0131n izlenmesini ve y\u00f6netilmesini de kolayla\u015ft\u0131r\u0131r. Hangi StorageClass'lar\u0131n ne kadar kullan\u0131ld\u0131\u011f\u0131, hangi t\u00fcr depolama birimlerinin en \u00e7ok talep edildi\u011fi gibi metrikler, depolama altyap\u0131s\u0131n\u0131n planlanmas\u0131 ve kapasite y\u00f6netimi i\u00e7in de\u011ferli bilgiler sa\u011flar. Ayr\u0131ca, <code>kubectl get sc<\/code> ve <code>kubectl describe sc <storageclass-ad\u0131><\/code> komutlar\u0131yla StorageClass'lar\u0131 kolayca listeleyebilir ve detaylar\u0131n\u0131 inceleyebilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Kubernetes'te StorageClass, dinamik depolama sa\u011flaman\u0131n ve y\u00f6netmenin temel ta\u015f\u0131d\u0131r. Depolama altyap\u0131s\u0131n\u0131 soyutlayarak, uygulama geli\u015ftiricilerinin depolama taleplerini basitle\u015ftirir ve operasyonel ekiplerin depolama y\u00f6netimini otomatikle\u015ftirir. Farkl\u0131 performans, maliyet ve \u00f6zelliklere sahip depolama s\u0131n\u0131flar\u0131 tan\u0131mlama yetene\u011fi sayesinde, Kubernetes k\u00fcmeleri \u00e7ok \u00e7e\u015fitli uygulama ihtiya\u00e7lar\u0131na uygun, esnek ve \u00f6l\u00e7eklenebilir depolama \u00e7\u00f6z\u00fcmleri sunabilir. \u0130ster bulutta ister \u015firket i\u00e7inde olsun, StorageClass'lar modern konteynerli uygulamalar i\u00e7in kal\u0131c\u0131 depolama y\u00f6netimini devrim niteli\u011finde kolayla\u015ft\u0131rmaktad\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt><strong>StorageClass olmadan dinamik depolama sa\u011flayabilir miyim?<\/strong><\/dt>\n<dd>Hay\u0131r, StorageClass olmadan dinamik depolama sa\u011flayamazs\u0131n\u0131z. StorageClass, dinamik sa\u011flama (dynamic provisioning) mekanizmas\u0131n\u0131n temelini olu\u015fturur. StorageClass olmadan yaln\u0131zca \u00f6nceden manuel olarak olu\u015fturulmu\u015f Persistent Volume'lar\u0131 (PV'leri) kullanabilirsiniz.<\/dd>\n<dt><strong>Bir k\u00fcmede ka\u00e7 tane StorageClass olabilir?<\/strong><\/dt>\n<dd>Bir Kubernetes k\u00fcmesinde istedi\u011finiz kadar StorageClass tan\u0131mlayabilirsiniz. Her biri farkl\u0131 depolama t\u00fcrlerini, performans \u00f6zelliklerini veya yap\u0131land\u0131rma parametrelerini temsil edebilir.<\/dd>\n<dt><strong>Varsay\u0131lan StorageClass'\u0131 nas\u0131l belirlerim veya de\u011fi\u015ftiririm?<\/strong><\/dt>\n<dd>Bir StorageClass'\u0131 varsay\u0131lan olarak i\u015faretlemek i\u00e7in <code>metadata.annotations<\/code> alan\u0131na <code>storageclass.kubernetes.io\/is-default-class: \"true\"<\/code> eklemeniz gerekir. Bir k\u00fcmede yaln\u0131zca bir varsay\u0131lan StorageClass olabilir. E\u011fer birden fazla varsay\u0131lan tan\u0131mlan\u0131rsa veya hi\u00e7 varsay\u0131lan yoksa, StorageClass belirtilmeyen PVC'ler olu\u015fturulamaz.<\/dd>\n<dt><strong><code>reclaimPolicy: Retain<\/code> ne anlama geliyor ve ne zaman kullanmal\u0131y\u0131m?<\/strong><\/dt>\n<dd><code>reclaimPolicy: Retain<\/code>, ilgili Persistent Volume (PV) silindi\u011finde, temel al\u0131nan depolama biriminin (\u00f6rne\u011fin, bir AWS EBS diski) korunaca\u011f\u0131 anlam\u0131na gelir. Bu, \u00f6zellikle hassas verilerin yanl\u0131\u015fl\u0131kla silinmesini \u00f6nlemek veya verileri manuel olarak incelemek\/yedeklemek istedi\u011finiz durumlarda faydal\u0131d\u0131r. Ancak, manuel temizlik gerektirdi\u011fi i\u00e7in dikkatli kullan\u0131lmal\u0131d\u0131r.<\/dd>\n<dt><strong>CSI s\u00fcr\u00fcc\u00fcleri ile StorageClass aras\u0131ndaki ili\u015fki nedir?<\/strong><\/dt>\n<dd>CSI (Container Storage Interface), depolama sa\u011flay\u0131c\u0131lar\u0131n\u0131n Kubernetes'e depolama \u00e7\u00f6z\u00fcmlerini entegre etmeleri i\u00e7in standart bir aray\u00fczd\u00fcr. Bir CSI s\u00fcr\u00fcc\u00fcs\u00fc, bir StorageClass'\u0131n <code>provisioner<\/code> alan\u0131 olarak belirtilir. CSI s\u00fcr\u00fcc\u00fcs\u00fc, StorageClass'ta tan\u0131mlanan parametreleri kullanarak dinamik olarak depolama birimleri olu\u015fturur ve y\u00f6netir. Bu, Kubernetes'in daha geni\u015f bir depolama ekosistemini desteklemesini sa\u011flar.<\/dd>\n<\/dl>\n","protected":false},"excerpt":{"rendered":"Stateless uygulamalar, oturum bilgilerini veya verilerini kendi i\u00e7inde tutmazlar; her istek ba\u011f\u0131ms\u0131zd\u0131r. Bu t\u00fcr uygulamalar\u0131n \u00f6l\u00e7eklenmesi ve y\u00f6netimi nispeten daha kolayd\u0131r.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1491],"tags":[],"class_list":{"0":"post-40388","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-kubernetes","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kubernetes&#039;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kubernetes&#039;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131\" \/>\n<meta property=\"og:description\" content=\"Stateless uygulamalar, oturum bilgilerini veya verilerini kendi i\u00e7inde tutmazlar; her istek ba\u011f\u0131ms\u0131zd\u0131r. Bu t\u00fcr uygulamalar\u0131n \u00f6l\u00e7eklenmesi ve y\u00f6netimi nispeten daha kolayd\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-26T12:00:41+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Kubernetes&#8217;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131\",\"datePublished\":\"2026-02-26T12:00:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/\"},\"wordCount\":2537,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Kubernetes\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/\",\"name\":\"Kubernetes'te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-26T12:00:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kubernetes&#8217;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kubernetes'te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/","og_locale":"tr_TR","og_type":"article","og_title":"Kubernetes'te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131","og_description":"Stateless uygulamalar, oturum bilgilerini veya verilerini kendi i\u00e7inde tutmazlar; her istek ba\u011f\u0131ms\u0131zd\u0131r. Bu t\u00fcr uygulamalar\u0131n \u00f6l\u00e7eklenmesi ve y\u00f6netimi nispeten daha kolayd\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-26T12:00:41+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Kubernetes&#8217;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131","datePublished":"2026-02-26T12:00:41+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/"},"wordCount":2537,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Kubernetes"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/","url":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/","name":"Kubernetes'te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-26T12:00:41+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/kuberneteste-storageclass-dinamik-depolama-saglamanin-anahtari\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kubernetes&#8217;te StorageClass: Dinamik Depolama Sa\u011flaman\u0131n Anahtar\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=40388"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40388\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=40388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=40388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=40388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}