1.
Kubernetes Ne Demek?
Modern işletmelerin uygulamalarını daha verimli, güvenli ve ölçeklenebilir şekilde yönetmesini sağlayan açık kaynaklı bir container orkestrasyon platformu olan Kubernetes, Google tarafından geliştirilip daha sonra tüm dünyaya açılmıştır. Kubernetes nedir sorusuna şu şekilde bir yanıt da verilebilir: Uygulamaları konteyner adı verilen küçük ve taşınabilir yazılım paketleri halinde çalıştırmayı ve yönetmeyi kolaylaştıran bir açık kaynak platformudur. Dijitalleşmenin hızlandığı dünyamızda, işletmelerin uygulamalarını güvenli, hızlı ve ölçeklenebilir şekilde çalıştırabilmesi önemli bir rekabet avantajı sağlar. İşte tam da bu noktada devreye giren Kubernetes ile ilgili merak ettiğiniz pek çok şey burada!
Bir konteyner kümeleme aracı olan Kubernetes, sunucular üzerinde çalışan uygulamalarınızı tek bir merkezden yönetmenizi, otomatik olarak dağıtmanızı (deploy), ölçeklendirmenizi, güncellemenizi ve benzer işlemleri yapabilmenizi sağlar. İşletmelerin yazılımlarını daha verimli, kesintisiz ve esnek şekilde çalıştırmasına imkân sunan Kubernetes, yüksek düzeyde otomasyon imkanı sağlar. Dilerseniz uygulama modernizasyon süreçleriniz için çevik, ölçeklenebilir ve zengin özellikler içeren %100 açık kaynak kodlu konteyner altyapılarını GlassHouse ayrıcalığıyla inceleyebilirsiniz.
2.
Kubernetes Ne İşe Yarar?
Kubernetes, işletmelerin uygulama altyapılarını daha esnek, güvenilir ve ölçeklenebilir hale getirmesine yardımcı olur. Kubernetes işlevleri ve işletmeler için sunduğu avantajlar genel olarak şu şekilde sıralanabilir:
- Kubernetes, uygulamaları parçalara yani konteynerlere böler ve bunları otomatik olarak çalıştırır, dağıtır ve yönetir. Yani IT ekibiniz tek tek sunucularla uğraşmaz, sistem kendi kendini yönetir.
- Talep arttığında otomatik olarak yeni kaynak ekler; talep düştüğünde ise gereksiz kaynakları kapatır. Böylece işletme olarak hem performans kaybetmemiş hem de gereksiz maliyetlere girmemiş olursunuz.
- Herhangi bir sunucunun arızalanması durumunda Kubernetes, iş yükünü diğer sunuculara kaydırır. Bu sayede müşteri tarafında fark edilmeden uygulama çalışmaya devam eder.
- Yeni bir özellik eklemek ya da hata gidermek istediğinizde sistemi durdurmanıza gerek kalmaz çünkü Kubernetes, güncellemeleri arka planda yapar.
- Kubernetes, ister kendi veri merkezinizde (on-premise), ister bulutta ister hibrit ortamda rahatça kullanılabilir.
3.
Kubernetes Nasıl Kullanılır?
Kubernetes, işletmelerin uygulamalarını daha düzenli ve kontrollü bir şekilde çalıştırmasını sağlayan bir “altyapı yöneticisi” gibi düşünülebilir. Kubernetes dashboard özellikle çok fazla kapsayıcı çalıştırması gereken ölçeklendirilmiş ortamlarda çeşitli avantajlar sunar. CI/CD gibi DevOps süreçlerini kullanan ekipler; Kubernetes sayesinde uygulama geliştirmede daha çevik hareket edebilir, aynı uygulamayı farklı ortamlarda sorunsuz çalıştırabilir ve mikro hizmet mimarisini daha kolay hayata geçirebilirler. Kubernetes kullanımı şu adımlarla özetlenebilir:
Uygulamaların Konteyner Haline Getirilmesi
Hazırlık aşaması olan bu adımda öncelikle uygulamalarınız konteyner adı verilen küçük paketler haline getirilir. Bu paketler, uygulamanın çalışması için gereken her şeyi (kod, kütüphane, ayarlar) içinde barındırır. Örneğin; bir e-ticaret uygulamasını “ödeme”, “arama” ve “ürün listeleme” gibi parçalar halinde konteynerlere bölebilirsiniz.
Kubernetes Kümesi (Cluster) Kurulumu
Kubernetes, birden fazla sunucuyu tek bir sistem gibi yönetir ve bu yapıya cluster adı verilir. Kubernetes cluster, birden fazla sunucu üzerinde çalışan uygulamalarınızı tek bir merkezden yönetmenizi sağlayan yapıdır. Kısaca, uygulamalarınızın nerede, nasıl ve ne kadar çalışacağını belirleyen bir beyin gibidir. Kubernetes cluster kurulumu yapmak ve bu yapıyı kullanmak işletmeler için merkezi yönetim, esneklik, güvenilirlik ve ölçeklenebilirlik demektir. Kubernetes clustering kurulumunu ister kendi veri merkezinizde ister bulutta yapabilirsiniz. GlassHouse Cloud hizmetlerini yakından incelemek isterseniz tıklayın!
Uygulamaların Dağıtılması (Deployment)
Kubernetes deployment ile Kubernetes’e “uygulamam şu kadar kopya ile çalışsın” şeklinde talimat verirsiniz. Sistem, bu uygulamaları uygun sunuculara otomatik olarak dağıtır. Örnek vermek gerekirse; “Yoğun talepte ödeme sistemi 10 kopya çalışsın, gece azaldığında 2 kopyaya düşsün.” gibi.
Otomatik Ölçeklendirme ve Yönetim
Kubernetes, anlık trafiğe bakarak uygulamaları büyütür veya küçültür. Sunucu arızalarında yükü başka sunuculara taşır. Yani “arka planda IT ekibiniz sürekli çalışıyor” gibi davranır.
Güncellemeler ve Sürüm Yönetimi
Kubernetes’e yeni bir özellik eklemek istediğinizde eski sürümü durdurmadan yenisini devreye alır böylece kesinti olmadan güncelleme yapılır.
Kubernetes Kullanım Örnekleri
Kubernetes kullanımı işletmeler için; IT ekiplerinin daha az manuel iş yapması, otomasyonun artması, müşterilerin kesinti yaşamadan hizmet alması, uygulama geliştirme ve pazara sunma sürelerinin hızlanması, farklı bulut sağlayıcılarına bağımlı kalmadan esnek çalışılabilmesi anlamına gelir. Ayrıca şu kullanım senaryoları da örnek verilebilir:
- GlassHouse gibi bir bulut platformuna geçiş
- Ödeme ve ürün listeleme servislerini otomatik ölçeklendirme
- Makine öğrenimini uygulama veya IoT cihazlarını dağıtma
- Mikro hizmet tabanlı uygulama yönetimini kolaylaştırma
- CDN ve streaming hizmetlerini güvenle yönetme
- Büyük veri analitik uygulamalarını farklı ortamlarda sorunsuz çalıştırma
- Yayın servislerini trafik yoğunluğuna göre ölçeklendirme
- Sunucu arızalarında yükü diğer node’lara taşıma
Önceden yapılandırılmış BT altyapısı sunarak hızlı kullanım sağlayan ve DevOps maliyetlerini azaltan Container as a Service (CaaS) ile ilgili detayları “Container as a Service (CaaS) Nedir?” başlıklı yazımızda ele aldık.