Merhabalar,

Geleneksel OpenShift kontrol düzlemi mimarisinde, her kümenin (cluster) kendi bağımsız kontrol düzlemi bileşenlerine sahip olması gerektiğini biliyoruz. Hatırlayacak olursak, bu bileşenler arasında API Server, Etcd, Scheduler ve Controller Manager bulunur. Her küme, kendi kontrol düzlemi bileşenlerini çalıştırmak ve yönetmek zorundadır. Kontrol düzlemi bileşenleri genellikle kümedeki master node’larda çalışır. Bu bileşenler nelerdir?

API Sunucusu (API Server): Kubernetes API isteklerini yönetir ve küme durumunu tutar.

Etcd: Kubernetes durum bilgisini saklar. Tüm küme bilgisi burada depolanır.

Scheduler: Yeni oluşturulan pod’ların hangi node’larda çalışacağını belirler.

Controller Manager: Kümeyi istenen durumda tutmak için çeşitli kontrol döngülerini çalıştırır (örneğin, replica set, deployment gibi).

Geleneksel yapının zorluklarını aşağıdaki gibi özetleyebiliriz.

Yüksek Kaynak Kullanımı: Her küme için ayrı kontrol düzlemi bileşenleri çalıştırmak, kaynakların verimsiz kullanılmasına yol açar.

Yönetim Karmaşıklığı: Birden fazla kümenin kontrol düzlemlerini ayrı ayrı yönetmek karmaşıktır ve operasyonel yükü artırır.

Ölçeklenebilirlik Sorunları: Büyük ölçekli dağıtımlarda her kümenin kendi kontrol düzlemi bileşenlerini çalıştırması ölçeklenebilirliği zorlaştırır.

Örneğin, diyelim ki üç OpenShift kümeniz var: Küme A, Küme B ve Küme C.

Her kümenin kendi kontrol düzlemi vardır:

Küme A: Kendi API sunucusu, Etcd, Scheduler ve Controller Manager.

Küme B: Kendi API sunucusu, Etcd, Scheduler ve Controller Manager.

Küme C: Kendi API sunucusu, Etcd, Scheduler ve Controller Manager.

Bu yapı, her kümenin kendi kontrol düzlemi bileşenlerini çalıştırması gerektiği için kaynak yoğun ve yönetimi zordur.

Bize son derece faydalar sağlayan, “OpenShift Hosted Control Planes”, upstream “HyperShift” projesine dayanır. “OpenShift Hosted Control Planes (HCP)”, Aralık 2023’te genel kullanıma sunuldu. Bu, HyperShift’in OpenShift için sağladığı bir özelliktir. HyperShift, Kubernetes kontrol düzlemlerini merkezi bir noktada yönetmek için geliştirilmiş açık kaynaklı bir projedir. “OpenShift Hosted Control Planes” bu projeyi kullanarak, iş yükü kümelerinin (guest clusters) merkezi bir kontrol düzleminden yönetilmesini sağlar.

HCP’nin bize sağladığı avantajlar nelerdir?

Kaynak Verimliliği: Merkezi yönetim sayesinde kaynak kullanımı optimize edilir.

Yönetim Kolaylığı: Kontrol düzlemleri merkezi bir yerden yönetilir, bu da yönetimsel karmaşıklığı azaltır.

Hız ve Esneklik: Yeni kümeler hızla oluşturulabilir ve mevcut kümeler kolayca ölçeklenebilir.

Yedeklilik ve Dayanıklılık: Yedekli kontrol düzlemleri yüksek erişilebilirlik sağlar.

Kullanım senaryolarını gözden geçirirsek özellike aşağıdakilere vurgu yapmak önemli olacaktır.

Büyük Ölçekli Dağıtımlar: Birden fazla kümenin merkezi bir kontrol düzleminden yönetilmesi gereken durumlar.

Kaynak Optimizasyonu: Kontrol düzlemi bileşenlerinin daha verimli kullanılması gereken senaryolar.

Yönetim Kolaylığı: Birden fazla Kubernetes kümesinin merkezi bir yerden yönetilmesi gereken durumlar.

Bu durumda, geleneksel yapıdaki küme örneğimiz aşağıdaki şekle dönüşür.

Yine üç OpenShift kümeniz var: Küme A, Küme B ve Küme C.

Bu sefer kontrol düzlemi bileşenleri merkezi bir yönetilen kümede çalıştırılır:

Merkezi Yönetilen Kümeler: HyperShift kontrol düzlemi bileşenleri (API sunucuları, Etcd, Scheduler, Controller Manager) merkezi bir kümede pod olarak çalışır.

Küme A, Küme B ve Küme C: Bu kümelerde sadece iş yükleri (worker node’lar) bulunur ve merkezi kontrol düzlemine bağlanır.

Şimdi işimizi daha da kolaylaştıran bir entegrasyona dikkat çekmek istiyorum: “Hub Cluster ve Hosted Control Planes Entegrasyonu.”

Hub cluster, Red Hat Advanced Cluster Management (ACM) kullanılarak merkezi bir yönetim noktası olarak konumlandırılır ve iş yükü kümelerinin yönetimi için kullanılır.

Red Hat’in Advanced Cluster Management (ACM) ve Hosted Control Planes (HCP) çözümleri, merkezi yönetim ve optimize kaynak kullanımı için birlikte güçlü bir çözüm sunar.

ACM’i genel olarak hatırlayalım.

Red Hat Advanced Cluster Management (ACM), birden fazla Kubernetes ve OpenShift kümesini merkezi bir noktadan yönetmek için kullanılan bir platformdur. Yaşam döngüsü yönetimi, politika uygulama, uygulama dağıtımı ve gözlemlenebilirlik sağlar.

ACM’nin Temel Özellikleri:

Merkezi Yönetim: Birden fazla kümeyi tek bir arayüzden yönetir.

Yaşam Döngüsü Yönetimi: Kümeleri oluşturur, günceller ve siler.

Politika Uygulama: Güvenlik ve uyumluluk politikalarını tutarlı bir şekilde uygular.

Uygulama Dağıtımı: Birden fazla kümeye uygulamaları dağıtır.

Gözlemlenebilirlik: Kümelerin sağlığını ve performansını izler.

ACM, HCP ile birlikte kullanıldığında, merkezi yönetim ve optimize kontrol düzlemi yapısı sağlar.

HCP ve ACM’nin birlikte çalışması durumunda bağlantı ve entegrasyon nasıl olur?

Merkezi Yönetim Kümesi (Hub Cluster): ACM, merkezi yönetim kümesi olarak görev yapar ve HyperShift kullanarak kontrol düzlemi bileşenlerini burada pod olarak çalıştırır.

Yönetilen Kümeler (Managed Clusters): İş yükü kümeleri, merkezi kontrol düzlemine bağlanır ve ACM üzerinden yönetilir.

Yani örneğimiz şu şekle dönüşür.

Hub Cluster: ACM ve HyperShift bileşenlerini çalıştırır. Kontrol düzlemi bileşenlerini merkezi olarak yönetir.

Küme A: Uygulama iş yüklerini çalıştırır ve merkezi kontrol düzlemine bağlanır.

Küme B: Uygulama iş yüklerini çalıştırır ve merkezi kontrol düzlemine bağlanır.

Küme C: Uygulama iş yüklerini çalıştırır ve merkezi kontrol düzlemine bağlanır.

Bu yapının bize sağladığı avantajlar benim fikrimce oldukça kayda değer. Karşılaştırmalı olarak aşağıdaki tablo bize ACM ve HCP’nin sağladığı yararları çok güzel özetliyor.

Özet olarak, Red Hat OpenShift Hosted Control Planes (HCP) ve Advanced Cluster Management (ACM), modern Kubernetes ortamlarının yönetiminde devrim niteliğinde bir teknoloji sunar. HCP’nin merkezi kontrol düzlemi bileşenlerini merkezi bir yönetim kümesinde barındırma yeteneği, kaynak verimliliğini artırırken yönetimsel karmaşıklığı önemli ölçüde azaltır. ACM ile sağlanan merkezi yönetim ve politika uygulama özellikleri, büyük ölçekli dağıtımların güvenli, uyumlu ve verimli bir şekilde yönetilmesini sağlar. Bu entegrasyon, işletmelere, altyapılarını optimize etme ve operasyonel maliyetlerini düşürme fırsatı sunarken, aynı zamanda daha hızlı ve daha esnek bir şekilde inovasyon yapma yeteneği kazandırır. Dolayısıyla, Kubernetes ve OpenShift kümelerini yönetirken HCP ve ACM’yi benimsemek, hem bugünün ihtiyaçlarını karşılamak hem de geleceğin zorluklarına hazır olmak için stratejik bir hamledir.

Sarav Asiye Yiğit – 27 Temmuz 2024

Kaynakça:

https://www.linkedin.com/pulse/unlocking-power-openshift-hosted-control-plane-hypershift-kohli-hbt5f

https://www.redhat.com/en/blog/unlocking-new-possibilities-general-availability-hosted-control-planes-self-managed-red-hat-openshift

https://www.redhat.com/en/blog/hosted-control-planes-is-here-as-tech-preview

https://hypershift-docs.netlify.app

https://hypershift-docs.netlify.app/getting-started

https://www.redhat.com/en/blog/a-guide-to-red-hat-hypershift-on-bare-metal