Kubernetes, konteynere alınmış uygulamaları yönetmeye yönelik bir platformdur. Bunu, konteynerde çalışan uygulamalarınızın nasıl dağıtıldığını, ölçeklendirildiğini ve düzenlendiğini kontrol etmenize ve yönetmenize olanak tanıyan API'ler sağlayarak yapar. Kubernetes şirket içinde veya bulutta kullanılabilir ve konteynere alınmış uygulamaları yönetmek için şu anda en popüler platformdur.
Kubernetes'in değerli avantajlarından biri, uygulamalarınızı ölçeklendirme yeteneğidir. Kubernetes, uygulamalarınızı CPU kullanımına, bellek kullanımına veya diğer metriklere göre otomatik olarak ölçeklendirebilir. Bu, uygulamanızın her zaman erişilebilir olmasını ve kullanıcılarınızın ihtiyaçlarını karşılamasını sağlar.
Kubernetes, Docker konteynerlerini yönetmeye ve düzenlemeye yardımcı olabilecek güçlü bir araçtır. Kubernetes'i kullanarak uygulamalarınızı çalıştırmanız için gereken her şeyi içeren, bağımsız bir ortam oluşturabilirsiniz. Bunlar, uygulama, bağımlılıklar, kitaplıklar ve konfigürasyon dosyalarından oluşabilir.
Kubernetes, uygulamalarınızı gerektiği şekilde yukarı veya aşağı yönde ölçeklemenize yardımcı olarak verimli çalışmak için gereken kaynaklara her zaman sahip olmalarını sağlayabilir. Ayrıca, Kubernetes, sürekli güncellemeler ve durum denetimleri gibi Docker konteynerlerinin daha kolay yönetilmesine yardımcı olan birçok özellik sağlar.
Kubernetes, uygulama yönetimi için çeşitli kaynaklar, hizmetler ve araçlar sunar. En çok kullanılan seçeneklerden bazıları aşağıda incelenmektedir.
Kubernetes, yük dengeleyici dahil olmak üzere çeşitli fonksiyonlar için kullanılan, Ingress adında bir kaynağa sahiptir. Ingress aracılığıyla yük dengeleme, trafiği bir dizi hizmet öbeği arasında dağıtmanıza olanak sağlar ve bu da tek hizmet olarak açığa çıkarılır. Böylece uygulamalarınızın erişilebilirliği ve performansı artırılabilir.
Yük dengeleyici aldığı her isteğin başlıklarını denetleyerek çalışır. İsteğin hedefine ve tanımlı kurallara göre bir hizmet öbeği seçer. Ardından isteği o hizmet öbeğine iletir.
Yük dengeleyici durum denetimini de destekler ve yük dengeleyici kendisine istek göndermeden önce bir hizmet öbeği için karşılanması gereken bir dizi ölçüt belirlemenizi sağlar. Bir hizmet öbeği gereksinimleri karşılayamazsa yük dengeleyici istekleri göndermeyi durdurur.
Ayrıca, yük dengeleyiciyi kullanarak trafiği isteğin kaynak IP adresine göre de yönlendirebilirsiniz. Uygulamalarınıza yalnızca belirli kaynaklardan erişim sağlanması yönünde sınır getirirseniz, bu yararlı olabilir.
Kubernetes ağı, hizmet öbekleri ve hizmetler oluşturarak çalışır. Hizmet öbeği, bir veya birlikte dağıtılan daha fazla konteynerden oluşan bir gruptur, bir ağ ad alanı ile IP adresini paylaşırlar.
Bir hizmet öbeğindeki konteynerler, yerel bir ana bilgisayar kullanarak birbirleriyle iletişim kurabilir.
Hizmetler bir veya daha fazla hizmet öbeğini dış dünyaya açmak için kullanılır. Hizmetler yük dengeleyiciler olarak uygulanır ve trafiği birden çok hizmet öbeğinde yükleyebilir.
Kubernetes çizelgeleyicisi, Kubernetes sisteminin kritik bir parçasıdır. Hizmet öbeklerine kaynak tahsis etme ve başarıyla çalışabilmelerini sağlama sorumluluğunu üstlenir.
Çizelgeleyici, her bir hizmet öbeğine öncelik atayarak ve hizmet öbeğini barındıracak yeterli kaynağa sahip düğümler arayarak çalışır. Kaynaklar kullanılamıyorsa çizelgeleyici daha yüksek öncelikli hizmet öbeklerine sahip bir düğüm atayabilir. Bu noktada görevlendirmeyi yapmak için hizmet öbeklerinin farklı öncelikleri de hesaba katılır. Genel olarak, bir düğüme hizmet öbekleri atarken kesintileri ve önceliklendirmeyi en aza indirmek için en düşük öncelikli düğümler kullanılır. Yeterli kaynaklara sahip düğüm yoksa, çizelgeleyici biri erişilebilir hale gelene kadar bekler.
Çizelgeleyici, başarısız olan hizmet öbeklerini yeniden başlatmaktan da sorumludur. Bir hizmet öbeği başarısız olursa çizelgeleyici onu farklı bir düğümde sürdürür. Bu, hizmet öbeğinin başarıyla çalıştırılması gereken kaynaklara her zaman erişebilmesini sağlar.
Kubernetes otomatik ölçeklendirme, hizmet öbeklerinizi CPU kullanımına veya diğer metriklere göre yukarı ya da aşağı yönde otomatik olarak ölçeklendirmenize olanak sağlayan harika bir özelliktir. Otomatik ölçeklendirme, kümenizde en uygun sayıda hizmet öbeği tutmanıza yardımcı olarak uygulamalarınızın performansını ve kararlılığını artırabilir.
İki tür Kubernetes otomatik ölçeklendirme vardır: yatay ve dikey.
Yatay otomatik ölçeklendirme, kümenize düğüm ekleyerek veya kümeden düğüm kaldırarak hizmet öbeklerinizi yukarı veya aşağı yönde ölçeklendirir. Buna karşılık, dikey otomatik ölçeklendirme, tekil hizmet öbeklerinin CPU veya bellek sınırlarını değiştirerek hizmet öbeklerinizi yukarı veya aşağı yönde ölçeklendirir.
Kubernetes otomatik ölçeklendirme, iki kavramı temel alır: ölçeklendirme tetikleyicileri ve ölçekleme kuralları. Ölçeklendirme motivasyonu, Kubernetes'in hizmet öbeklerinizi yukarı veya aşağı yönde ölçeklendirmesine neden olan bir koşuldur. Ölçeklendirme kuralı, bir ölçeklendirme tetikleyicisi harekete geçtiğinde Kubernetes'in gerçekleştirdiği eylemdir.
DNS, etki alanı adı sistemi anlamına gelir ve insanlar tarafından okunabilir etki alanı adlarını bilgisayarlar tarafından kullanılan sayısal IP adreslerine çevirmek için kullanılan bir sistemdir. Kubernetes, hizmetlerini yönetmek için DNS kullanır. Kubernetes'teki her hizmetin benzersiz bir DNS adı vardır. Bir hizmet oluşturduğunuzda Kubernetes, o hizmet için bir DNS kaydı oluşturur. DNS kaydı, hizmetin IP adresini ve bağlantı noktası numarasını içerir. Kubernetes bu bilgileri kullanarak trafiği hizmete yönlendirir.
Bir hizmetin DNS adı iki unsurdan oluşur:
Etki alanı adı, DNS adının, etki alanındaki tüm hizmetlerde ortak olan parçasıdır. Hizmet adı, her hizmetin DNS adının benzersiz parçasıdır.
Kubernetes kullanan kurumlar için Oracle Container Engine for Kubernetes, bulut yerel uygulamalar geliştirme süreçlerini kolaylaştırır ve bütçeleri azaltır. Oracle Cloud Infrastructure kapsamındaki Oracle Container Engine for Kubernetes, güçlü özellikleri ek maliyet olmaksızın sunar. Ücretsiz Oracle Cloud Infrastructure denemesine hemen başlayın.