Kubernetes Rook – Ceph

Operatörler aracılığıyla kubernetes ortamlarımızı daha kolay ve yönetilebilir bir hale getirebilmekteyiz. Rook, kubernetes üzerinde Ceph depolama çözümünü dağıtmak, yönetmek ve ölçeklendirmek için kullanılan bir operatördür.

Ceph, açık kaynak kodlu, yüksek performanslı, ölçeklenebilir ve dağıtık bir depolama çözümüdür. Ceph bizlere file, object ve block seviyesinde storage çözümlerini birlikte sunmaktadır.

Rook – Ceph çözümü, production ready yani kararlı, production ortamlarında güvenle kullanılabilecek bir çözüm olarak sunulmaktadır.

Resmi web sayfasındaki görsel Rook ve Ceph’ in mimarisini net bir şekilde anlatmaktadır.

Image 1024x1005

App katmanında Kubernetes üzerinde çalışan uygulamalar yer alır, uygulamalar kendi depolama ihtiyaçlarına yönelik PVC’ ler kullanır.

ReadWriteOnce (RWO) Persistent Volume Claim: Bir uygulama, yalnızca tek bir node’dan okuma ve yazma erişimi gerektiren bir depolama talep edebilir.

ReadWriteMany (RWX) Persistent Volume Claim: Birden fazla node’dan okuma ve yazma erişimi gerektiren bir depolama talep edebilir.

S3 Client: Uygulama, Ceph’in S3 uyumlu nesne depolama özelliğini kullanarak depolama hizmetlerinden faydalanabilir.

Orta Katmanda Rook Operatör ve CSI ( Container Storage Interface) ‘ in yer aldığı gözükmektedir. Rook burada Ceph’ in doğru bir şekilde yapılandırılmasını ve çalıştırılmasını sağlar.

CSI’ de plugin ve provisioner‘ ler mevcuttur. İkisi birbiriyle ilişkili bir şekilde çalışır. Plugin daha çok kubernetes ile depolama sistemi arasındaki operasyonel işlemleri, attach, resize, snapshot vb yürütürken. Provisioner PVC taleplerine yanıt vererek yeni PV’ lerin oluşmasını sağlar.

Alt Katmanda ise Ceph bileşenleri mevcuttur;

MON (Monitor): Ceph Mon (Monitor), Ceph cluster’ının sağlık durumunu, yapılandırmasını ve cluster haritalarını (örneğin, OSD haritası, MON haritası, PG haritası) tutar.

MGR (Manager): Ceph Manager, Ceph cluster’ının izlenmesi, performans yönetimi ve çeşitli servislerin (örneğin, balancer, Prometheus entegrasyonu, Ceph Dashboard) koordinasyonundan sorumludur. Ceph Manager, cluster hakkında detaylı metrikler toplar, yük dengeleme (balancing) gibi görevleri yürütür ve Ceph Dashboard gibi yönetimsel arayüzler sağlar.

OSD (Object Storage Daemon): Ceph’in veriyi fiziksel disklerde depolayan birimidir. OSD’ler verinin çoğaltılması, hataya dayanıklılık ve veri sağlama işlemlerini gerçekleştirir. Her bir node’da birden fazla OSD bulunabilir.

MDS (Metadata Server): CephFS (Ceph File System) için metadata hizmeti sağlar. Bu bileşen, dosya sisteminin düzgün çalışması için gereklidir.

RGW (RADOS Gateway): Ceph’in nesne depolama hizmetlerini sunan bir bileşendir. RGW, Ceph’in RADOS (Reliable Autonomic Distributed Object Store) katmanını kullanarak nesne depolama sağlar ve bu hizmetleri uygulamalara sunar.

Rook projesinin web sayfasına buraya , github projesine de buraya tıklayarak ulaşabilirsiniz.

Kubernetes Cluster’ ınıza github üzerindeki projeyi indirerek, helm ile aşağıdaki komutlarla kurulumunuzu tamamlayabilirsiniz.

Önce Rook Operatörünü cluster üzerine kuralım.

helm repo add rook-release https://charts.rook.io/release
helm install --create-namespace --namespace rook-ceph rook-ceph rook-release/rook-ceph -f values.yaml

Operatör running state’ e geçip, kurulum tamamlanınca, projeniz içerisindeki rook-ceph-cluster dosyasında bulunan values dosyanızı kendi ihtiyaçlarınız doğrultusunda güncelleyip, yapınıza uygun olan ceph cluster’ ı çalıştırabilirsiniz.

helm install --create-namespace --namespace rook-ceph rook-ceph-cluster \
   --set operatorNamespace=rook-ceph rook-release/rook-ceph-cluster -f values.yaml
Image 2 1024x565

Herhangi bir problemle karşılaşmadığınız taktirde diskleriniz için osd podları oluşacak ve tüm podlarınız running state’ e geçecektir.

Dashboard servisine bağlanıp kurulum tarafındaki kontrollerinizi yapabilir, toolbox ile ceph cli kullanarak, ceph’ i daha detaylı kontrol edebilir, yönetebilir. Telemetri ayarlarınızla sistem performansını izleyebilir sorunlarınızı daha erken teşhis edebilirsiniz.

Faydalı Olması Dileklerimle,

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir