Giriş
Edge hesaplama ortamlarında Kubernetes tabanlı uygulamaların dağıtımı giderek yaygınlaşmaktadır. Ancak, bu ortamlarda yüksek erişilebilirlik (HA) sağlamak için genellikle üçüncü bir düğüme (arbiter) ihtiyaç duyulmaktadır. Bu durum, özellikle çok sayıda edge konumunda bulunan işletmeler için hem donanım maliyetleri hem de bakım yükü açısından önemli bir engel oluşturmaktadır. Red Hat, OpenShift platformunda bu sorunu çözmek için iki düğümlü yüksek erişilebilirlik konfigürasyonunu tanıtmıştır. Bu yenilik, üçüncü düğüm gereksinimini ortadan kaldırarak hem maliyetleri düşürmekte hem de operasyonel karmaşıklığı azaltmaktadır.
Sorun Tanımı
Edge ortamlarında yüksek erişilebilirlik sağlama zorluğu:
- Split-brain senaryosu riski: İki düğümlü bir kümede bağlantı kaybı yaşandığında, her iki düğüm de kendisini primary olarak tanımlayabilir. Bu durum, veri tutarlılığının bozulmasına ve hizmet kesintilerine yol açabilir.
- Arbiter düğüm gereksinimi: Geleneksel çözümlerde, üçüncü bir düğüm (arbiter) kullanılarak küme quorum'unun korunması ve split-brain durumunun önlenmesi amaçlanmaktadır. Ancak, bu düğümün her edge konumunda bulunması hem maliyetli hem de bakım açısından zorlayıcıdır.
- Donanım ve bakım maliyetleri: Üçüncü düğümün hem donanım hem de elektrik tüketimi, özellikle yüzlerce edge konumuna sahip işletmeler için önemli bir maliyet kalemi oluşturmaktadır.
Split-brain Senaryosunun Etkileri
Uyarı: Split-brain durumunda, her iki düğüm de aynı veriler üzerinde değişiklik yapmaya çalışabilir. Bu, veri bütünlüğünün bozulmasına, hizmetlerin çökmesine ve hatta veri kaybına yol açabilir. Bu nedenle, yüksek erişilebilirliği sağlamak için güvenilir bir quorum mekanizmasına ihtiyaç vardır.
Red Hat'in Çözümü: 2 Düğümlü OpenShift HA
Red Hat, OpenShift platformunda iki düğümlü yüksek erişilebilirlik konfigürasyonunu destekleyerek, edge ortamlarında karşılaşılan bu zorluklara yenilikçi bir çözüm sunmuştur. Bu çözüm, üçüncü düğüme olan ihtiyacı ortadan kaldırırken, küme stabilitesini ve veri bütünlüğünü korumayı hedeflemektedir.
Çalışma Prensibi
Red Hat'in 2 düğümlü OpenShift HA çözümü, aşağıdaki temel prensiplere dayanmaktadır:
- Quorum Mekanizması: Küme düğümleri arasında quorum (çoğunluk) ilkesi kullanılarak, split-brain durumunun önlenmesi amaçlanmaktadır. İki düğümlü bir kümede, düğümlerden biri primary rolünü üstlenirken, diğeri secondary rolünde kalır. Bağlantı kaybı durumunda, düğümlerden biri primary rolünü devralır ve hizmet devamlılığı sağlanır.
- Veri Senkronizasyonu: OpenShift, düğümler arasında sürekli veri senkronizasyonu sağlayarak, herhangi bir düğümün çökmesi durumunda diğerinin hizmetleri sorunsuz bir şekilde devralmasını mümkün kılar.
- Automatic Failover: Bir düğümün çökmesi durumunda, sistem otomatik olarak failover işlemini gerçekleştirerek hizmet sürekliliğini sağlar. Bu işlem, kullanıcı müdahalesi gerektirmeden gerçekleşir.
Uygulama Adımları
Aşağıdaki adımlar, Red Hat OpenShift'te iki düğümlü yüksek erişilebilirlik konfigürasyonunu uygulamak için izlenmelidir. Bu adımlar, intermediate düzeyde teknik bilgi gerektirmektedir.
Ön Gereksinimler
- OpenShift Container Platform (OCP) 4.8 veya üzeri sürümünün yüklü olması.
- İki adet fiziksel veya sanal makine (her biri en az 4 CPU, 16 GB RAM ve 120 GB depolama alanına sahip).
- OpenShift CLI (oc) ve kubectl komut satırı araçlarının yüklenmiş olması.
- İnternet bağlantısı ve gerekli ağ ayarlarının yapılmış olması.
1. Adım: OpenShift Küme Kurulumu
İki düğümlü OpenShift kümesini kurmak için aşağıdaki komutları kullanabilirsiniz. Bu adımda, assisted installer veya IPI (Installer Provisioned Infrastructure) yöntemlerinden birini tercih edebilirsiniz. Aşağıdaki örnek, assisted installer kullanılarak gerçekleştirilmiştir:
# OpenShift Assisted Installer'ı indirin ve çalıştırın
curl -L https://mirror.openshift.com/pub/openshift-v4/clients/assisted-installer/latest/openshift-install-linux.tar.gz | tar xvz
# Kurulum konfigürasyonunu oluşturun (install-config.yaml)
./openshift-install create install-config
# Kurulumu başlatın (iki düğümlü mod için --control-plane-count 2 parametresini kullanın)
./openshift-install create cluster --control-plane-count 2
2. Adım: Küme Yüksek Erişilebilirliğinin Etkinleştirilmesi
Kurulum tamamlandıktan sonra, iki düğümlü kümenin yüksek erişilebilirliğini etkinleştirmek için aşağıdaki adımları izleyin:
- ClusterOperator durumunu kontrol edin:
oc get clusteroperators - Küme API kaynaklarını inceleyin:
oc get apiservers cluster -o yamlBu komut, küme API sunucusunun durumunu ve konfigürasyonunu gösterir. Yüksek erişilebilirlik modunun etkin olup olmadığını doğrulamak için topology bölümünü kontrol edin.
- Quorum ayarlarını yapılandırın:
OpenShift, varsayılan olarak iki düğümlü küme desteğini sağlamaktadır. Ancak, quorum ayarlarınızı doğrulamak için aşağıdaki komutu kullanabilirsiniz:
oc get cm -n openshift-kube-apiserver config -o yaml | grep -A 5 quorum
3. Adım: Ağ ve Depolama Ayarlarının Doğrulanması
İki düğümlü OpenShift kümesinin düzgün çalışabilmesi için ağ ve depolama ayarlarının doğru şekilde yapılandırılmış olması gerekmektedir. Aşağıdaki kontrolleri gerçekleştirin:
- Ağ bağlantısını doğrulayın:
oc get nodes -o wideBu komut, düğümlerin birbirleriyle olan ağ bağlantısını ve rollerini gösterir. Her iki düğümün de Ready durumunda olduğundan emin olun.
- Depolama sağlayıcısını kontrol edin:
OpenShift, varsayılan olarak kubernetes.io/hostname etiketini kullanarak düğümler arasında depolama senkronizasyonunu sağlar. Depolama sağlayıcınızın (örneğin, RWO PVC'ler) düzgün çalıştığından emin olun:
oc get pvc -n openshift-storage
4. Adım: Yüksek Erişilebilirlik Testi
Kümenin yüksek erişilebilirliğini doğrulamak için aşağıdaki testleri gerçekleştirin:
- Bir düğümü manuel olarak kapatın:
# Bir düğümün SSH bağlantısını kesin (örneğin, node1) ssh core@ sudo shutdown -h nowArdından, diğer düğümün primary rolünü devraldığını ve hizmetlerin sorunsuz bir şekilde devam ettiğini doğrulayın:
oc get nodes - Split-brain senaryosunu simüle edin:
İki düğüm arasındaki ağ bağlantısını keserek split-brain durumunu simüle edin. Bu durumda, sistemin otomatik olarak primary düğümü seçtiğini ve hizmet devamlılığını sağladığını doğrulayın:
# Ağ bağlantısını kesmek için firewall kuralları kullanın (örneğin, iptables) sudo iptables -A INPUT -s -j DROP sudo iptables -A OUTPUT -d -j DROPArdından, küme durumunu kontrol edin:
oc get clusteroperators
Avantajlar ve Dezavantajlar
Avantajlar
- Maliyet Tasarrufu: Üçüncü düğüme olan ihtiyacın ortadan kalkmasıyla, donanım ve elektrik maliyetlerinde önemli ölçüde azalma sağlanır.
- Basitleştirilmiş Operasyonlar: Üçüncü düğümün bakım ve yönetimiyle ilgili karmaşıklık ortadan kalkar. Bu da IT ekiplerinin yükünü azaltır.
- Hızlı Dağıtım: İki düğümlü küme kurulumu, üçüncü düğümlü konfigürasyona göre daha hızlı ve basit bir şekilde gerçekleştirilebilir.
- Yüksek Erişilebilirlik: Red Hat'in çözümü, split-brain durumunu önleyerek veri bütünlüğünü ve hizmet sürekliliğini korur.
Dezavantajlar
- Sınırlı Ölçeklenebilirlik: İki düğümlü küme, sadece küçük ölçekli edge ortamları için uygundur. Büyük ölçekli dağıtımlar için üçüncü düğüme ihtiyaç duyulabilir.
- Tek Nokta Hatası Riski: Eğer her iki düğüm de aynı anda çökerse, küme hizmetleri durdurabilir. Bu nedenle, düğümlerin fiziksel olarak farklı lokasyonlarda bulunması önerilir.
İpucu: Düğümlerin farklı fiziksel lokasyonlarda bulunması, tek nokta hatası riskini azaltır. Örneğin, düğümleri farklı raflara, veri merkezlerine veya bulut bölgelerine yerleştirin.
Sonuç
Red Hat'in OpenShift platformunda tanıttığı iki düğümlü yüksek erişilebilirlik çözümü, edge ortamlarında karşılaşılan maliyet ve karmaşıklık sorunlarına etkili bir çözüm sunmaktadır. Bu yenilik, üçüncü düğüme olan ihtiyacı ortadan kaldırarak hem donanım maliyetlerini düşürmekte hem de operasyonel verimliliği artırmaktadır. İki düğümlü OpenShift HA konfigürasyonu, özellikle küçük ve orta ölçekli edge dağıtımlarında tercih edilen bir seçenek haline gelmiştir. Ancak, büyük ölçekli uygulamalar için üçüncü düğümün gerekliliği göz önünde bulundurulmalıdır.



