k0smotron: Açık kaynaklı Kubernetes küme yönetimi


Açık kaynaklı çözüm k0smotron, iki destek seçeneğiyle üretim düzeyinde Kubernetes küme yönetimi için kurumsal kullanıma hazırdır.

k0smotron

Kubernetes küme yönetimi

Yönetim ve çalışan uçaklarının aynı altyapı sağlayıcısı üzerinde çalışması gerekmiyor; bu da k0smotron’u uç, hibrit ve çoklu bulut dağıtımları için Kubernetes kontrol düzlemlerini birleştirmek için ideal kılıyor. Ayrıca bu, Kubernetes kontrol düzlemlerinin iş yükü gereksinimleri değiştikçe yukarı veya aşağı döndürülebilen geçici bölmeler olarak kurulmasını mümkün kılar.

K0smotron operatörü, talep üzerine kontrol düzlemi hizmetlerini düzenleyen ve sağlayan bir “ana gemiye” benzer yönetim kümesi olarak belirlenen mevcut bir Kubernetes kümesine dağıtılır. Bu çerçevede, birden fazla “alt küme” yönetilirken kontrol düzlemleri sanallaştırılır ve diğer herhangi bir iş yükü gibi ele alınır. Bu, standartlaştırılmış yapılandırmalarla Kubernetes’in hızlı ve büyük ölçekli tedariğine olanak sağlayarak yönetimi kolaylaştırır, güvenliği ve güvenilirliği artırırken operasyonel maliyetleri azaltır.

Mirantis Mühendislikten Sorumlu Başkan Yardımcısı Miska Kaipiainen, “Uygulama karmaşıklığının hızla arttığı bir çağda, birden fazla Kubernetes kümesini verimli bir şekilde yönetmek önemli bir engeldir” dedi. “k0smotron, Kubernetes kontrol düzlemlerinin tek bir kapsayıcı Kubernetes ortamında ayrı bölmeler olarak çalışmasına izin vererek bunu basitleştiriyor. Bu ‘Kubernetes içinde Kubernetes’ yaklaşımı, kaynak açısından verimlidir ve kendi özel kümelerine ihtiyaç duyan çeşitli geliştirme ekiplerine sahip kuruluşlar için özel olarak tasarlanmıştır. Artık kurumsal kullanıma hazır olan ve Mirantis’in resmi desteğiyle desteklenen k0smotron ile Kubernetes küme yönetiminin kriterlerini yeniden tanımlıyoruz.”

Kümeler

Kontrol düzlemleri ve çalışanlar arasındaki ayrım, Küme API entegrasyonu ve çıplak donanım tedarik etme yeteneğinin yanı sıra, daha küçük ayak izi kenarı, şube ofisleri ve Nesnelerin İnterneti dahil olmak üzere daha geniş bir kullanım senaryosunu destekleyerek uzak çalışan düğümlerinin tedarik edilmesini de mümkün kılar .

Yazılım geliştirme ve sürekli entegrasyon (CI/CD) için geçici kümeler oluşturulabilir ve mevcut süreçlerle entegre edilebilir. Ayrıca k0smotron, genel veya özel bir bulut sağlayıcısındaki kontrol düzlemi yönetim kümesi ve birleşik küme yönetimi ile çeşitli bulutlardaki çalışan düğümleri ile çoklu bulut dağıtımlarını destekler.

Kamera ARKASI

Daha fazlasını öğrenmek için Mirantis Kıdemli Baş Mühendisi Jussi Nummelin’e ulaştık.

k0smotron’u neden yarattınız?

CNCF onaylı, tek ikili Kubernetes dağıtımı olan k0s ile başladık. Ve k0s ile amacımız, ‘Linux çekirdeği’nin ötesinde sıfır dış bağımlılıkla, temelde her yere kurup çalıştırmasıydı. IoT cihazlarında çalışacak kadar kaynak açısından verimli olması gerekiyor ve 512 MB RAM’e sahip tek CPU ARM makinelerine kadar da öyle. Ama aynı zamanda gerçekten büyük kümeler oluşturacak kadar sağlam olması ve bunu da yapması… bunu binlerce düğüme kadar test ettik. Ayrıca yeni CNI, CRI, CSI ve diğer bileşenleri kolayca dahil edecek kadar esnektir.

Ancak hepsinden önemlisi, kullanımının basit olmasını istedik: bu, bir Linux düğümüne tek bir komutla kurulum, özelleştirmek istiyorsanız düğüme bir yapılandırma dosyası SCP yükleme anlamına gelir. Bu işçi ise bir birleştirme jetonu sağlayın. Daha sonra hizmeti bir komut ve birkaç isteğe bağlı bağımsız değişkenle başlatın. Tamamlamak. k0s, yerleşik bir kubectl’i de beraberinde getiren kendi yerel CLI’sıyla kurulur. Yani manuel olarak çalışmanız gereken ilkel durumlarda bile çok hızlı ve kolay bir şekilde kurun, yapılandırın, başlatın ve yönetin. Daha gelişmiş kurulumlar için ise kümeleri yapılandırmanıza ve dağıtmanıza olanak tanıyan k0sctl gibi basit yardımcı programlarımız mevcuttur. k0s ayrıca standart Kubernetes API’leri de sağlar; bu nedenle Lens gibi araçlarla, kubectl (tabii ki) ve beklediğiniz diğer tüm şeylerle uzaktan çalışır.

Piyasadaki çoğu CPU, herhangi bir popüler Linux ve k0’lar çalışır. Ayrıca, kontrol düzlemi ve işçi ayrımına olanak sağlamak için Konnectivity gibi topluluk tarafından geliştirilmiş sağlam ve hoşgörülü protokolleri kullanır ve oldukça zayıf ağlar üzerinden bile düzlemleri güvenli bir şekilde kontrol etmek için işçi düğümlerini bağlamanıza olanak tanır. Tıpkı bir veri merkezinde veya bulutta barındırılan uçakları kontrol etmek için IoT mobil çalışanlarını 5G ve internet aracılığıyla bağlayabileceğiniz gibi, onlar da çalışır ve bozulmaz.

Elbette k0’ın kontrol düzlemi bileşenleri çıplak işlemler olarak çalıştırılabilir, ancak aynı zamanda kaplarda da çalışabilir. Biz de şöyle düşündük: “Vah, bu geniş ölçekte işe yarar. Çoklu küme Kubernetes sorununu yeni bir yöntemle çözebiliriz: Bir operatör kullanarak herhangi bir Kubernetes üzerinde konteynerli kontrol düzlemlerini başlatın, barındırın, ölçeklendirin ve yönetin. Kontrol düzlemleri Kubernetes uygulamalarıdır, dolayısıyla Kubernetes bunları yönetebilir, destekleyebilir ve düzeltebilir ve düğümler arızalandığında bunları yeni yerlerde yeniden başlatabilir vb..”

“Sonra işçileri hazırlayıp işe alabiliriz. Çalışanlar herhangi bir yerde çalışabilirler: genel veya özel bir buluttaki VM’lerdeki ana bilgisayar kümesinin yanında veya binlerce kilometre uzaktaki bir şube ofisinde, bir masaüstünde veya mobil bir IoT cihazında. Kubernetes’i çok kümeli hale getirebiliriz – yaygın kullanım örnekleri için bile – basit, anlaşılır ve Kubernetes’e özgü!”

Bu tür sağlam kontrol düzlemi ve işçi ayrımı birçok ilginç kullanım durumu için çok önemlidir. Edge, IoT ve benzeri durumlarda, orada bir kontrol düzlemi çalıştırmayı denemek için çok küçük ve potansiyel olarak güvensiz cihazlarla uğraşıyorsunuz. k0smotron ile buna ihtiyacınız yok.

Sonra başka bir motivasyon daha vardı; k0s topluluğumuzun bizden k0s için bir ClustAPI operatörü oluşturmamızı istemesiydi; bu, bir kümenin altyapıyı yönetmesine olanak tanıyan bir Kubernetes projesidir. Ve şöyle düşündük: “Eğer altyapıyı yönetebilirsek, çoklu kümeleme, işleri basit tutmak için gerçekten bu tür bir yeteneğe ihtiyaç duyan harika bir uygulamadır.” Ve böylece k0smotron ve k0s CAPI operatörümüz bir bakıma aynı topluluk ilham kaynağından doğmuştur.

k0smotron’u piyasadaki diğer çözümlerden farklı kılan nedir?

Muhtemelen bildiğiniz gibi, çok kümeli Kubernetes normalde tamamen farklı bir şekilde çözülür: kod olarak alt yapıyla, kendisi üretim için altyapı gerektirir, karmaşık şeyleri kim bilir hangi sunuculara dağıtır ve bunları konuşacak şekilde kablolar. Ve bu altyapıyı bir şekilde yönetmeniz gerekir; genellikle karmaşık olan Terraform gibi göreve özelleşmiş başka bir kod olarak altyapı katmanıyla. Altyapıyı sıralama ve yeni kümeleri dağıtma süreci en iyi ihtimalle dakikalar alır, bazen çok daha uzun sürer. Ve her zaman doğru şekilde tamamlanmaz. Bütün mesele karmaşık ve acı verici.

Ancak Kubernetes’i temel katman olarak kullandığımızda tüm altyapı sorunlarını tek seferde çözüyoruz. Ana bilgisayar kümesini (özellikle CAPI operatörüyle) çalıştırdığınızda VM’leri, sanal ağları vb. soyutlar. Böylece Kubernetes’in güzel, basit yerel mekaniğini kullanarak kelimenin tam anlamıyla saniyeler içinde yeni bir kontrol düzlemi oluşturabiliriz. K0smotron’da her şey Kubernetes kaynakları olarak yönetiliyor, dolayısıyla deneyimli Kubernetes kullanıcıları bir anlamda bilmeleri gereken her şeyi zaten biliyorlar. Ayrıca, insanların ayrı dağıtım araçlarının yanı sıra sisteme özel dillerde ve YAML lehçelerinde yazılmış operasyon kod tabanlarını öğrenmesi veya yönetmesi ihtiyacını ortadan kaldırır. Kullanıcılar kubectl (veya oluşturdukları bazı kullanıcı arayüzleri) aracılığıyla operatörle konuşabilirler ve iş başındadırlar: oluşturun, ölçeklendirin, silin. Geçici veya uzun süreli kümeler basitleştirildi.

Geleceğe dair planlarınız neler?

Daha çok ‘bugünün planları’ gibi. k0smotron, k0s çevresindeki diğer mevcut projelerimizden bazılarıyla gerçekten güzel bir şekilde örtüşüyor. Örneğin, kullanıcının küme güncellemelerini kesintisiz bir şekilde yapılandırmasına ve ardından otomatik olarak yürütmesine olanak tanıyan Autopilot adlı başka bir Kubernetes operatörünü geliştirdik ve sürekli olarak geliştiriyoruz. Ve Autopilot artık varsayılan olarak k0s ile kuruluyor. Böylece k0s ana bilgisayar kümesini güncel tutmak için k0smotron ortamında çalışabilir. Alt kümelerin güncellenmesi daha da basit bir şekilde yapılır, ancak k0smotron manifestosunda kapsayıcı sürümünü değiştirmek sihirli bir şeydir! Tüm bunlar, özellikle de birçok kontrol düzlemi ve yüz binlerce uzaktan çalışanın bulunduğu dağıtılmış IoT uygulamaları için, aksi takdirde çok korkutucu olabilecek operasyon masraflarını gerçekten azaltıyor.

Ayrıca bir kümenin her türlü bulut altyapısını yönetmesine olanak tanıyan bir Kubernetes projesi olan k0s CAPI operatörümüz (ClusterAPI) de var. Bunu aynı zamanda çıplak metali de sıralayacak şekilde geliştiriyoruz. Bu nedenle, k0smotron’un, birisinin takip etmek istediği her türlü kullanım durumu için gerekli olan tüm temel altyapı mekanizmalarını tamamen soyutlamasına izin vermek için zemin hazırladık.

İndirme ve başlama

k0smotron GitHub’dan ücretsiz olarak indirilebilir.

k0smotron’u kullanmaya başlamak kolaydır. Denetleyiciyi mevcut bir kümeye yükleyin:

kubectl uygula -f https://docs.k0smotron.io/stable/install.yaml

Kolay bir tarif için k0smotron’a Başlarken eğitimine bakın.

Dikkate alınması gereken daha fazla açık kaynak araç:



Source link