Gezintiyi Atla

Kubernetes dağıtım stratejisi

Uygulama senaryonuza en uygun Kubernetes kullanıma sunma stratejisini bulun

Kubernetes dağıtım seçeneklerini öğrenin

Hedefiniz ister pazara çıkma süresini kısaltmak, isterse kesinti süresi olmayan dayanıklı dağıtımlar oluşturmak, uygulama ve özellikleri daha hızlı veya daha sık yayınlamak ya da daha fazla esneklik sağlamak olsun, doğru Kubernetes dağıtım stratejisini seçmek, dayanıklı uygulama ve altyapı sunma konusunda kritik öneme sahiptir. Her Kubernetes dağıtımının hedeflerinize ve ihtiyaçlarınıza göre belirli avantajları vardır.

Kubernetes’te yeni misiniz? Temel bilgileri öğrenin

Kubernetes dağıtımlarının çalışma biçimi

Bir Kubernetes dağıtım stratejisini uygulamaya geçirmeden önce Kubernetes dağıtımının aşamalarını ve bunların bir arada nasıl çalıştığını anlamanız gerekir.

Kubernetes dağıtımının bileşenleri

YAML dosyası

Kubernetes kümenizin istenen durumudur. Pod yapılandırma bilgilerinin yer aldığı bu dosya, Kubernetes dağıtımınızın temelidir.

Podlar

Uygulamanızın veya iş akışınızın çalışması için gerekli olan kapsayıcıları, paylaşılan kaynakları ve ortamı kapsar.

ReplicaSet

Tam olarak aynı yapılandırmaya sahip olan pod kümeleri, ReplicaSet olarak adlandırılır. Bu sayede bir Kubernetes dağıtımı için YAML dosyasında belirtilen türde ve sayıda podların her zaman çalışması sağlanır. Podlardan birinde hata oluşması durumunda yeni bir pod oluşturulur.

Kube-controller-manager

Kümenin geçerli durumunu YAML ile belirtilen istenen durumla eşleşecek şekilde değiştirir. Bunun için yeni Podlar ve ReplicaSet'ler oluşturur veya mevcut olanları güncelleştirir ya da kaldırır.

Kube-scheduler

Podlarınızın ve ReplicaSet''lerinizin çalışan düğümlerine nasıl dağıtılacağını ve trafiğin bu düğümlere nasıl yönlendirileceğini belirler.

Kullanıma sunma

Kümenin yapılandırmasını değiştirerek mevcut durumdan istenen duruma geçirme işlemidir ve çoğu durumda kesinti süresi yaşanmadan tamamlanır.

Kubernetes dağıtım mimarisi

Kubernetes kullanıma sunma yöntemleri nasıl çalışır?

  1. Kümenin istenen durum yapılandırmasını belirten bir YAML dosyası oluşturun.
  2. YAML dosyasını Kubernetes komut satırı arabirimi olan kubectl üzerinden kümeye uygulayın.
  3. Kubectl, isteği kube-apiserver'a gönderir, o da isteğin kimlik doğrulaması ve yetkilendirme süreçlerini tamamladıktan sonra değişikliği veritabanına kaydetme gibi işlemleri gerçekleştirir.
  4. kube-controller-manager sistemi sürekli izleyerek yeni istek olup olmadığını belirler ve sistem durumunu istenen duruma getirmek için çalışır. Bunun için ReplicaSet, dağıtım ve pod oluşturur.
  5. Tüm denetleyiciler çalıştırıldıktan sonra kube-scheduler, ''beklemede'' olan podlar olduğunu tespit eder. Bunun nedeni, bu podların henüz bir düğüm üzerinde çalışacak şekilde zamanlanmamış olmasıdır. Zamanlayıcı, podlar için uygun düğümleri bulur ve ardından her bir düğümdeki kubelet ile iletişim kurarak denetimi devralmasını ve dağıtımı başlatmasını sağlar.

Kubernetes dağıtımı kullanım örnekleri

Kubernetes dağıtımlarıyla kapsayıcılı uygulamaları ve iş akışlarını kullanıma sunmak için kullanabileceğiniz dört yöntem vardır. Kullandığınız Kubernetes dağıtım stratejisinde bu kullanım örneklerinden biri veya daha fazlası yer alabilir.

Oluşturma

Tamamen yeni Kubernetes podlarını ve ReplicaSet'lerini kullanıma sunun.

Güncelleştirme

Yeni bir istenen durum bildirin ve yeni podlar ile ReplicaSet'leri denetimli bir şekilde kullanıma sunun.

Geri alma

Mevcut durumun kararlı olmadığı Kubernetes dağıtımlarını önceki bir duruma geri döndürün.

Ölçeklendirme

Kubernetes içindeki podları ve ReplicaSet'leri değiştirmeden sayısını artırmanızı sağlar.

Kubernetes dağıtım stratejileri

Senaryonuza uygun Kubernetes dağıtım stratejisini belirlemek için değerlendirmeniz gereken birkaç nokta vardır. Bunlar kabul edilebilecek kesinti süresi (varsa), dağıtım ortamınız, yeni bir sürümün veya platformun kararlılığı konusunda ne kadar rahat olduğunuz, test etme ihtiyacınız, test sonucunda öğrenmeyi bekledikleriniz, kaynak maliyeti ve kullanılabilirliği ile işletme hedefleridir. Kuruluşların üretim ortamında sık kullandığı dört dağıtım stratejisi aşağıda listelenmiştir.

Kademeli artış

Kubernetes’in varsayılan kullanıma sunma yöntemi, kademeli artış veya sıralı dağıtımdır. Bu dağıtım, kesinti süresi yaşanmaması için podları teker teker ve yavaş bir şekilde değiştirir. Yeni podlar hazır olmadan eski podların ölçeği azaltılmaz. Dağıtımınızda sorun yaşanması halinde kümenin tamamını çevrimdışı hale getirmeden Kubernetes dağıtımını duraklatabilir veya iptal edebilirsiniz.

Mavi/yeşil

Mavi/yeşil dağıtımında uygulamanın veya iş akışının güncel sürümü (yeşil) çalışmaya devam ederken yeni bir sürümü (mavi) yayına alınır. Bu sayede mavi sürümü üretim ortamında test edebilir, kullanıcılara ise kararlı olan yeşil sürümü sunmaya devam edebilirsiniz. Testleri tamamlanan mavi sürüm, kademeli olarak yeşil sürümün yerini alır.

Kısıtlı dağıtım

Kubernetes dağıtımınızın yeni sürümünü yalnızca sınırlı bir kullanıcı grubuna sunarak test etmelerini sağlayabilirsiniz. Yeni sürümün bir ReplicaSet örneği ile güncel sürümü belirli bir süre boyunca birlikte çalıştırdıktan ve yeni sürümde hata olmadığından emin olduktan sonra yeni sürümün ölçeğini artırabilir, eski sürümü kaldırabilirsiniz.

A/B testi

Kubernetes kısıtlı dağıtım stratejisinde olduğu gibi A/B testinde de belirli bir müşteri grubu hedeflenir. Ancak A/B testi dağıtımında, bir sürümün kararlılığını belirlemekten daha fazlası yapılır. Sürümün işletme hedeflerine ulaşma açısından ne kadar verimli olduğu test edilir. Yeni sürüm tanımlama bilgileri, coğrafi konum, işletim sistemi ve cihaz türüne göre kullanıcılara dağıtılır ve genellikle güncel sürümler birlikte çalıştırılır. Testleri geçen yeni sürümün ölçeği kademeli olarak artırılır.

Kubernetes dağıtım araçları

Bu Kubernetes dağıtım stratejilerini yürütmek için komut satırını veya YAML dosyalarını kullanabilirsiniz ancak kümelerinizde ve dağıtımlarınızda daha fazla denetim sahibi olmak için bu Kubernetes dağıtım araçlarından ve hizmetlerinden faydalanabilirsiniz.

Azure DevOps

Kubernetes dağıtımlarını otomatikleştirmeye yönelik tam kapsamlı bir uygulama tedarik zinciri. Hızdan ve güvenlikten ödün vermeden uygun ölçekte kod dağıtımı yapın.

Daha fazla bilgi

Helm

Açık kaynak paketleme aracıdır. Oluşturma, sürüm değiştirme, paylaşma ve yayımlama seçenekleri sunan grafikleri kullanarak Kubernetes uygulamalarınızı yükleyin, yükseltin ve yönetin.

Daha fazla bilgi

Azure Kubernetes Service (AKS)

Yüksek oranda kullanılabilir, güvenli ve tam olarak yönetilen Kubernetes hizmeti. Bulutta kapsayıcılı uygulamalar dağıtın ve yönetin.

Daha fazla bilgi

Kullanıma hazır: Kubernetes’i Azure’da ücretsiz olarak deneyin