
Güncellendi:
Kubernetes, container tabanlı iş yüklerinin istenen durumunu tanımlamak ve bu durumu sürdürmek için kullanılan bir orkestrasyon platformudur. Uygulamaların yerleştirilmesi, yeniden başlatılması ve kontrollü dağıtımı için ortak mekanizmalar sunar. Değeri, yalnız teknolojiyi kullanmaktan değil, uygulama ve ekibin bu modele uygun hazırlanmasından gelir.
Görseli büyüt →
Kubernetes hangi problemi çözer?
Birden fazla container’ı çalıştırmak, bunları güncellemek, servis keşfini sağlamak ve arızalanan örnekleri yeniden oluşturmak tekrar eden işlerdir. Kubernetes bu işler için deklaratif kaynaklar ve kontrol döngüleri sunar. Uygulamanın kaç örneğinin çalışması gerektiği gibi hedefler API üzerinden ifade edilebilir.
Platform uygulamanın iş mantığını veya veri modelini düzeltmez. Bir Pod’un yeniden oluşturulması, kayıp işlemin geri kazanıldığı veya veritabanının tutarlı olduğu anlamına gelmez. Uygulamanın yeniden başlatılabilirliği ve bağımlılık davranışı ayrıca tasarlanmalıdır.
Hangi iş yüklerinde anlamlı olabilir?
Farklı ekiplerin düzenli yayın yaptığı, çok sayıda servis bulunan veya tekrar edilebilir ortamlara ihtiyaç duyulan yapılarda ortak bir platform yararlı olabilir. Sağlık kontrolleri, kaynak tanımları ve dağıtım politikalarının standartlaşması operasyonun izlenmesini kolaylaştırır.
Tek bir küçük uygulama için ise daha basit bir sanal makine veya yönetilen çalışma ortamı yeterli olabilir. Kubernetes’in kontrol düzlemi, ağ, depolama, güvenlik ve yükseltme sorumlulukları bir maliyet oluşturur. Ölçeklenebilirlik ihtiyacını mevcut ölçümlerle belirleyin; gelecekte büyüme olasılığı tek başına karmaşıklığı haklı çıkarmaz.
Taşınabilirliğin sınırları
Container imajları ve Kubernetes API’si ortak bir çalışma zemini sunar. Ancak depolama sınıfları, yük dengeleyici davranışı, kimlik hizmetleri, DNS, ağ politikaları ve sağlayıcıya özel eklentiler değişebilir. Uygulama tanımının taşınmasıyla verinin taşınması ayrı işlerdir.
Birden fazla bulutta aynı yapılandırmayı uygulamadan önce gerekli API sürümlerini ve eklentileri karşılaştırın. Kullanımdan kaldırılan API’leri, desteklenen sürüm aralıklarını ve upgrade bağımlılıklarını düzenli izleyin. “Her yerde aynı çalışır” sonucunu yalnız manifest dosyasına bakarak çıkarmayın.
Ölçekleme için uygulamayı hazırlayın
Bir servisin örnek sayısını artırmak, durumun ve oturumların da güvenle paylaşılabildiği anlamına gelmez. Veritabanı bağlantı havuzu, kuyruk tüketimi, dosya yazma ve oturum verisi büyüyen örnek sayısıyla uyumlu olmalıdır. Otomatik ölçekleme için seçilen metriğin gerçek talebi temsil ettiğini kontrol edin.
Hazır olma kontrolü ile canlılık kontrolünü doğru ayırın. Uygulama henüz istek kabul edemiyorsa trafiğe alınmamalıdır; geçici bir dış bağımlılık hatası bütün container’ların tekrar tekrar yeniden başlamasına yol açmamalıdır. Başarıyı yalnız çalışan Pod sayısıyla ölçmeyin.
Karar öncesi küçük bir pilot
- Temsili fakat düşük riskli bir uygulamayı seçin.
- Yayın, geri alma, izleme ve erişim süreçlerini belgeleyin.
- Pod veya düğüm kaybında uygulamanın davranışını kontrollü test edin.
- Platformun bakım süresini ve toplam kaynak maliyetini ölçün.
- İşletim sorumluluklarının ekipte açık sahibi olduğundan emin olun.
Pilotun amacı yalnız kurulumun mümkün olduğunu göstermek değildir. Teknolojinin mevcut yönteme göre hangi somut sorunu çözdüğünü ve hangi yeni işleri oluşturduğunu ortaya koymalıdır.
Sık sorulan sorular
- Kubernetes kullanmak mikroservis zorunluluğu getirir mi?
-
Hayır. Uygulama mimarisi ayrı karardır. Platform seçimi uğruna işlevleri gereksiz yere bölmek yeni ağ ve veri bağımlılıkları oluşturabilir.
- Yönetilen Kubernetes bütün operasyonu devralır mı?
-
Hizmet kapsamı doğrulanmalıdır. Uygulama, veri, erişim, maliyet ve bazı eklenti sorumlulukları müşteride kalabilir.
Sonraki adım
Karar sonrasında temel Kubernetes kavramlarını ve aşamalı geçiş planını inceleyin.