Kubernetes Platformları – Storage

Bu makalemde kubernetes platformlarında kullanılan depolama çözümleri ile ilgili temel bilgi ktarmaya çalışacağım. VMware Tanzu hakkında bilgi sahibi değilseniz öncelikle Tanzu hakkında yayınlamış olduğum makalere göz atmanızı öneririm.

Kubernetes platformlarındaki modern uygulama işyüklerinin depolama alanları için PersistentVolume (PV) ve PersistentVolumeClaim (PVC) kullanılmaktadır. Aşağıda biraz daha detaylı aktarmaya çalışacağım.

Persistent Volume

PV kubernetes ortamınızın kullanımına sunduğunuz file (NFS) ya da block (FC, iSCSI, fiziksel ya da sanal raw volume) depolama alanlarının kullanılabilmesine imkan sağlar. Daha doğrusu bu depolama alanlarının kubernetes platformları tarafından Persistent Volume olarak adlandırıldığını söyleyebiliriz. PV’ler bir pool içerisinde mantıksal olarak toplanabilmektedir.

Persistent Volume Claim

Persistent Volume Claim ise kubernetes ortamınıza sunulan PV ya da PV havuzundan podlarınızın ihtiyacı olan depolama alanı ve mode ile mount edebilir hale getirmektedir.

Örnek vermek gerekirse;

10TiB kapasiteli bir PV ya da PV havuzunuz olsun. Bir podunuza 20GiB kapasiteli bir depolama alanı vermek istiyorsunuz. 10TiB kapasiteli PV ya da PV pool üzerinde 20GiB kapasiteli PVC oluşturarak podunuza mount edersiniz.

Kubernetes üzerindeki işyüklerine göre bu volumelerin farklı tip ve modeları bulunmaktadır. Bu tipler geleneksel sistemlerdekinden konsept olarak çok farklı bir yapıda değiller.

Volume Mode

İki farklı volume mode’u mevcut. Aşağıdaki detaylara göre iş yükünüze en uygun volume mode’u kullanabilirsiniz. Bu her PVC için ayrıca seçilmekte, yalnız backenddeki storage’ın bu modeları destekliyor olması gerekmektedir. Volume mode ilk oluşturulma sonrasında değiştirilemez.

Filesystem Mode

Filesystem mode tüm kubernetes plaftormları için varsayılan olarak kullanılmaktadır. Filesystemden ayrılan bir mantıksal alan olduğundan containerlar doğrudan bu alana üzerine okuma ve yazma yapabilmektedir.

Block Mode

Block mode genellikle daha düşük gecikme ve IO performansı konusunda hassas iş yükleri için tercih edilmektedir. Raw alan doğrudan container üzerine mount edildiğinden bu alanı kullanacak iş yükünün raw alan üzerinde bir filesystem oluşturması ya da raw olarak kullanabiliyor olması gerekir. Filesystem oluşturmak için gereken formatlara işlemini init-container ile sağlayabilirsiniz.

Access Mode

Volume mode için iş yükünüze uygun tercih sonrasında uygun volume access mode da seçmelisiniz. Access mode da her volume için ayrı şekilde seçilebilir ve bu access modeun PV tarafından destekleniyor olması gerekir. Access mode da bildiğim kadarıyla ve şu an için sonradan değiştirilememektedir.

Read Only Many (ROX)

ROX modeunda bir volume birden fazla containera mount edebilir ve bu işyükleri aynı anda bu volume üzerinden okuma yapabilir. Adından da anlaşılacağı üzere herhangi bir yazma gerçekleştiremezler.

Read Write Once (RWO)

RWO modeunda ise bir volume T anında yalnızca bir containera mount edilebilir ve yalnızca mount edilen container bu volume üzerinden okuma ve yazma yapabilir.

Read Write Many (RWX)

RWX modeunda da bir volume T anında birden fazla containera mount edilebilir ve mount edilen tüm container işyükleri bu volume üzerinden hem okuma hem de yazma gerçekleştirebilir.

CSI (Container Storage Interface)

Harici bir depolama çözümünüz var ve bu depolama çözümünü container iş yüklerinde kullanmak istiyorsunuz. Container Storage Interface bu ihtiyaç için geliştirilmiştir. CSI kubernetes ortamında herhangi bir değişiklik yapmadan, bu depolama çözümünün native olarak kullanılmasını sağlar.

Depolama çözümleri üreticileri kubernetes platformları için kendi CSI driverlarını yazarlar. Bu CSI driverları kubernetes ile storage çözümünüz arasındaki bağlantıyı sağlamaktadır. Üreticilerin CSI driverları operatorler vasıtasıyla kurularak ve kubernetes platformuyla entegrasyon sağlanmaktadır. Gereken API erişimi bu operatör ile yapılır. İş yüklerinin talep ettiği PVC ler depolama çözümü üzerinde otomatik olarak oluşturulur ve kubernetes platformunun kullanımına sunulmaktadır.

Aklımda olan CSI driverlara bir kaç örnek vermek gerekirse;

  • VMware vSphere üzerinde bir kubernetes platformunuz varsa VMware vSphere CSI
  • Pure Storage Portworx CSI (Pure Storage CSI Driver kullanımdan kaldırılmıştır)
  • DellEMC CSI
  • OpenEBS CSI
  • NetApp Trident CSI Driver
  • HPE CSI Driver for Kubernetes
  • IBM Block Storage CSI Driver

Ayrıca AlibabaCloud, Google, Amazon ve Azure cloud platformlarının da CSI driverları bulunmaktadır.

İLGİNİZİ ÇEKEBİLİR

VMware Explore 2023

VMware Explore 2023, kurumsal uygulamalar, bulut mimarisi, altyapı, EUC, network ve güvenlik ile ilgilenenler de ...

VMware Photon OS 5.0

Daha önceki makalelerimde detaylı değindiğim PhotonOS 5.0 sürümü yayınlandı. Bu sürüm ile birlikte gelen yenilikler ...

VMware Tanzu – Storage

Bir önceki yazımda kubernetes platformları storage konseptleri hakkında temel bilgiler paylaşmıştım. Bu yazımda da Tanzu ...

VMware vSAN 8 Neler Yeni?

VMware Explore 2022 da vSphere 8 ile birlikte vSAN 8 de duyuruldu. vSAN 8 ile ...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.