{"id":246,"date":"2023-10-10T21:20:00","date_gmt":"2023-10-10T21:20:00","guid":{"rendered":"http:\/\/blog.firatyasar.com\/?p=246"},"modified":"2024-03-26T21:52:22","modified_gmt":"2024-03-26T21:52:22","slug":"azure-container-storage","status":"publish","type":"post","link":"https:\/\/blog.firatyasar.com\/?p=246","title":{"rendered":"Azure Container Storage"},"content":{"rendered":"\n<p>Container y\u00f6netimindeki dinamik ortamda, Kubernetes containerized uygulamalar\u0131n y\u00f6netimi i\u00e7in de facto standart olarak ortaya \u00e7\u0131km\u0131\u015ft\u0131r. Bu ekosistemin ayr\u0131lmaz bir par\u00e7as\u0131 depolama y\u00f6netimidir; karma\u015f\u0131k bir alan olan bu alanda Azure Container Storage (ACS), basitle\u015ftirmeyi ve geli\u015ftirmeyi hedeflemektedir.<\/p>\n\n\n\n<p><strong>Geleneksel Bulut Depolama Entegrasyonundaki Zorluklar<\/strong><\/p>\n\n\n\n<p>Geleneksel cloud storage&#8217;lar\u0131n container&#8217;lar ile entegrasyonu Container Storage Interface (CSI) s\u00fcr\u00fcc\u00fclerine dayan\u0131yordu. Bu s\u00fcr\u00fcc\u00fcler, ba\u015flang\u0131\u00e7ta IaaS i\u015f y\u00fckleri i\u00e7in tasarlanm\u0131\u015f depolama hizmetlerini, konteyner ortamlar\u0131n\u0131n ihtiya\u00e7lar\u0131na uyacak \u015fekilde uyarlamakla g\u00f6revliydi. Ancak bu adaptasyon zorluklarla dolu de\u011fildi. Operasyonel zorluklar s\u0131kl\u0131kla ortaya \u00e7\u0131k\u0131yor, uygulama kullan\u0131labilirli\u011fi ile ilgili artan risklere yol a\u00e7\u0131yordu. CSI s\u00fcr\u00fcc\u00fclerindeki hatalar\u0131n veya uyumsuzluklar\u0131n potansiyeli bu riskleri daha da karma\u015f\u0131k hale getiriyordu. Dahas\u0131, \u00f6l\u00e7eklenebilirlik endi\u015feleri ve performans gecikmeleri, geli\u015ftiricilerin ve operasyon ekiplerinin ba\u015fa \u00e7\u0131kmas\u0131 gereken \u00f6nemli konulard\u0131.<\/p>\n\n\n\n<p>Bu challange&#8217;lar\u0131 ortadan kald\u0131rmak i\u00e7in container birimleri ile olduk\u00e7a uyumlu \u00e7al\u0131\u015fan storage opsiyonu Azure taraf\u0131ndan public preview olarak duyuruldu.<\/p>\n\n\n\n<p><strong>Azure Container Storage tam olarak nedir? \ud83d\ude42<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"618\" height=\"1024\" src=\"\/wp-content\/uploads\/2024\/03\/image-9-618x1024.png\" alt=\"\" class=\"wp-image-247\" srcset=\"\/wp-content\/uploads\/2024\/03\/image-9-618x1024.png 618w, \/wp-content\/uploads\/2024\/03\/image-9-181x300.png 181w, \/wp-content\/uploads\/2024\/03\/image-9-768x1273.png 768w, \/wp-content\/uploads\/2024\/03\/image-9-660x1094.png 660w, \/wp-content\/uploads\/2024\/03\/image-9.png 846w\" sizes=\"(max-width: 618px) 100vw, 618px\" \/><\/figure>\n\n\n\n<p>OpenEBS&#8217;ten ilham alan, a\u00e7\u0131k kaynakl\u0131 bir Kubernetes depolama \u00e7\u00f6z\u00fcm\u00fc olan Azure Container Storage, ger\u00e7ekten konteyner \u00f6ncelikli bir depolama deneyimi sunar. Bunun ba\u015far\u0131lmas\u0131 i\u00e7in, bir Kubernetes framework i\u00e7inde mikro servis tabanl\u0131 storage controller&#8217;lar\u0131n\u0131 operate eden <strong>managed volume orchestration system<\/strong> entegre eder. Bu yenilik\u00e7i yakla\u015f\u0131m, depolama y\u00f6netim katman\u0131n\u0131 hem pod&#8217;lardan hem de temel depolama altyap\u0131s\u0131ndan ayr\u0131\u015ft\u0131r\u0131r. Sonu\u00e7 olarak, birden fazla CSI s\u00fcr\u00fcc\u00fcs\u00fcne olan ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 en aza indiren, basitle\u015ftirilmi\u015f bir depolama \u00e7\u00f6z\u00fcm\u00fc elde edilir. \u00d6rne\u011fin, yeni bir Azure Kubernetes cluster sa\u011fland\u0131\u011f\u0131nda, varsay\u0131lan kurulum disk ve dosya depolamas\u0131 i\u00e7in belirli CSI s\u00fcr\u00fcc\u00fclerini i\u00e7erir. Ancak, Azure Container Storage ile t\u00fcm depolama t\u00fcrleri i\u00e7in tek bir CSI s\u00fcr\u00fcc\u00fcs\u00fc yeterlidir; bu da sistemin verimlili\u011fini ve basitli\u011fini g\u00f6sterir.<\/p>\n\n\n\n<p><strong>Nas\u0131l etkinle\u015ftiririm?<\/strong><\/p>\n\n\n\n<p>Azure container storage&#8217;\u0131 Kubernetes cluster&#8217;lar\u0131n\u0131z i\u00e7in etkinle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki yolu takip edebilirsiniz.<\/p>\n\n\n\n<p>\u00d6nce gerekli provider&#8217;lar register edilmelidir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>az provider register --namespace Microsoft.ContainerService --wait \naz provider register --namespace Microsoft.KubernetesConfiguration --wait<\/code><\/pre>\n\n\n\n<p>Sonras\u0131nda a\u015fa\u011f\u0131daki komutu kullanarak Azure Container Storage&#8217;\u0131 etkinle\u015ftirebilirsiniz.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>az k8s-extension create --cluster-type managedClusters --cluster-name &lt;cluster name> --resource-group &lt;resource group name> --name &lt;name of extension> --extension-type microsoft.azurecontainerstorage --scope cluster --release-train stable --release-namespace acstor<\/code><\/pre>\n\n\n\n<p>Storage pool olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki yaml&#8217;\u0131 kendinize g\u00f6re d\u00fczenleyebilirsiniz.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki yaml ge\u00e7ici disk olu\u015fturacakt\u0131r.  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: containerstorage.azure.com\/v1\nkind: StoragePool\nmetadata:\n  name: ephemeraldisk\n  namespace: acstor\nspec:\n  poolType:\n    ephemeralDisk:\n      diskType: temp<\/code><\/pre>\n\n\n\n<p>Storage pool \u00fczerinden gerekli provisioning i\u015flemini yapmak i\u00e7in gerekli olan PVC yaml \u00f6rne\u011fi de a\u015fa\u011f\u0131daki gibidir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  name: ephemeralpvc\nspec:\n  accessModes:\n    - ReadWriteOnce\n  storageClassName: acstor-ephemeraldisk\n  resources:\n    requests:\n      storage: 100Gi<\/code><\/pre>\n\n\n\n<p>Sonras\u0131nda ilgili pvc&#8217;yi istedi\u011finiz pod&#8217;a volume olarak atayabilirsiniz.<\/p>\n\n\n\n<p><strong>Azure Container Storage&#8217;\u0131n Temel Bile\u015fenleri<\/strong><\/p>\n\n\n\n<p><br>Azure Container Storage, birka\u00e7 temel bile\u015fenden olu\u015fur:<\/p>\n\n\n\n<ol><li><strong>Storage Pool<\/strong>: Bu, depolama kaynaklar\u0131n\u0131 bir araya getirerek, bunlar\u0131 bir Azure Kubernetes Hizmeti (AKS) cluster i\u00e7in bir b\u00fct\u00fcn depolama varl\u0131\u011f\u0131 olarak sunar.<\/li><li><strong>Data-Service Layer:<\/strong> Burada, replikasyon ve \u015fifreleme gibi temel i\u015flevler y\u00f6netilir ve temel depolama \u00e7\u00f6z\u00fcmlerinin eksik olabilece\u011fi hizmetler sa\u011flan\u0131r.<\/li><li><strong>Protocol-Layer:<\/strong> NVMe \u00fczerinden Kuma\u015flar (NVMe-oF) protokol\u00fcn\u00fc kullanarak, bu katman Kal\u0131c\u0131 Hacimler (PV&#8217;ler) i\u00e7in daha h\u0131zl\u0131 bir ba\u011flama ve ay\u0131rma i\u015flemi sa\u011flar ve depolama i\u015flemlerinin genel performans\u0131n\u0131 art\u0131r\u0131r.<\/li><\/ol>\n\n\n\n<p><strong>Azure Container Storage&#8217;\u0131n Kurulum ve Entegrasyonu<\/strong><\/p>\n\n\n\n<p>Azure Container Storage&#8217;\u0131 bir AKS k\u00fcmesine kurmak olduk\u00e7a basittir, bunun nedeni aks-preview ve k8s-extension CLI uzant\u0131lar\u0131nda yap\u0131lan en son g\u00fcncellemelerdir. Bu ara\u00e7lar, gerekli kaynak sa\u011flay\u0131c\u0131lar i\u00e7in kay\u0131t s\u00fcrecini basitle\u015ftirir ve Azure Active Directory (AAD) rol yay\u0131lmas\u0131n\u0131 y\u00f6netir, b\u00f6ylece sorunsuz bir kurulum sa\u011flar. Kurulduktan sonra, Azure Container Storage \u00e7e\u015fitli depolama se\u00e7eneklerini destekler, bunlar aras\u0131nda Azure Elastic SAN, Azure Disks ve Ge\u00e7ici Diskler gibi farkl\u0131 uygulama gereksinimlerine ve \u00f6l\u00e7eklenebilirlik gereksinimlerine uygun olanlar bulunmaktad\u0131r.<\/p>\n\n\n\n<p>Azure Container Storage&#8217;\u0131 bir AKS k\u00fcmesiyle entegre ettikten sonra, Azure Container Storage&#8217;\u0131n sa\u011flad\u0131\u011f\u0131 kapsaml\u0131 ekosistemi yans\u0131tan birka\u00e7 yeni Kubernetes resource type mevcut hale gelir. Azure Container Storage&#8217;a \u00f6zg\u00fc <strong>storage class<\/strong>, \u00f6rne\u011fin <strong>acstor-azuredisk<\/strong> gibi, i\u015flemleri kolayla\u015ft\u0131rmak i\u00e7in olu\u015fturulmu\u015ftur. Bu s\u0131n\u0131flar, depolama kaynaklar\u0131n\u0131n dinamik olarak olu\u015fturulmas\u0131 ve y\u00f6netilmesini desteklemek \u00fczere tasarlanm\u0131\u015ft\u0131r ve container \u00f6ncelikli depolama felsefesiyle uyumlu olarak \u00e7al\u0131\u015f\u0131r.<\/p>\n\n\n\n<p>Azure Container Storage&#8217;\u0131n kullan\u0131m\u0131na ili\u015fkin bir \u00f6rnek, bir storage pool resource&#8217;u olu\u015fturmakt\u0131r; bu, bir disk pool&#8217;unun olu\u015fturulmas\u0131na yol a\u00e7ar. Bu Disk Havuzu, Azure Disk&#8217;ler i\u00e7in bir rezervuar g\u00f6revi g\u00f6r\u00fcr ve depolama kaynaklar\u0131n\u0131n verimli tahsis ve geri kazan\u0131m\u0131ndan sorumlu kapasite tahsis edicisi taraf\u0131ndan y\u00f6netilir. <\/p>\n\n\n\n<p>PVC&#8217;ler, PV&#8217;ler ve depolama s\u0131n\u0131flar\u0131 da dahil olmak \u00fczere \u00e7e\u015fitli Kubernetes kaynaklar\u0131 aras\u0131ndaki etkile\u015fim, Azure Container Storage&#8217;\u0131n sorunsuz entegrasyonunu ve i\u015fletme verimlili\u011fini g\u00f6sterir.<\/p>\n\n\n\n<p><strong>Sonu\u00e7<\/strong><br>Azure Container Storage, Azure platformundaki Kubernetes depolama \u00e7\u00f6z\u00fcmlerinde \u00f6nemli bir ilerleme temsil eder. Geleneksel bulut depolama entegrasyonunun do\u011fal zorluklar\u0131n\u0131 ele alarak ve konteyner-\u00f6ncelikli depolama prensiplerinden yararlanarak, Azure Container Storage sa\u011flam, verimli ve \u00f6l\u00e7eklenebilir bir \u00e7\u00f6z\u00fcm sunar. Sadece Kubernetes ortamlar\u0131nda depolama y\u00f6netimini basitle\u015ftirmekle kalmaz, ayn\u0131 zamanda Azure&#8217;da da\u011f\u0131t\u0131lan konteynerle\u015ftirilmi\u015f uygulamalar\u0131n g\u00fcvenilirli\u011fini ve performans\u0131n\u0131 art\u0131r\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Container y\u00f6netimindeki dinamik ortamda, Kubernetes containerized uygulamalar\u0131n y\u00f6netimi i\u00e7in de facto standart olarak ortaya \u00e7\u0131km\u0131\u015ft\u0131r. Bu ekosistemin ayr\u0131lmaz bir par\u00e7as\u0131 depolama y\u00f6netimidir; karma\u015f\u0131k bir alan olan bu alanda Azure Container Storage (ACS), basitle\u015ftirmeyi ve geli\u015ftirmeyi hedeflemektedir. Geleneksel Bulut Depolama Entegrasyonundaki Zorluklar Geleneksel cloud storage&#8217;lar\u0131n container&#8217;lar ile entegrasyonu Container Storage Interface (CSI) s\u00fcr\u00fcc\u00fclerine dayan\u0131yordu. Bu s\u00fcr\u00fcc\u00fcler,\u2026 <span class=\"read-more\"><a href=\"https:\/\/blog.firatyasar.com\/?p=246\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":248,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[93,94,90,7,92,91],"_links":{"self":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/246"}],"collection":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=246"}],"version-history":[{"count":1,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/246\/revisions"}],"predecessor-version":[{"id":249,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/246\/revisions\/249"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/media\/248"}],"wp:attachment":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}