Birden çok ortamı (QA, Hazırlama, Üretim, Geliştirme vb.) Yönetmek için K8S ile iyi bir uygulama olarak kabul edilen nedir?
Örnek olarak, bir takımın bir ön uç uygulamayla birlikte birkaç API dağıtılmasını gerektiren bir ürün üzerinde çalıştığını varsayalım. Genellikle bu, en az 2 ortam gerektirir:
- Evreleme: İstemciye yayınlamadan önce yinelemeler / testler ve doğrulama için
- Üretim: Bu, müşterinin erişebildiği ortamdır. Kararlı ve iyi test edilmiş özellikler içermelidir.
Öyleyse, ekibin Kubernetes kullandığını varsayarsak, bu ortamları barındırmak için ne iyi bir uygulama olur? Şimdiye kadar iki seçeneği değerlendirdik:
- Her ortam için bir K8s kümesi kullanın
- Yalnızca bir K8 kümesi kullanın ve bunları farklı ad alanlarında tutun.
(1) Üretim ortamını tehlikeye atabilecek potansiyel insan hatası ve makine arızası risklerini en aza indirdiği için en güvenli seçenekler gibi görünüyor. Ancak bu, daha fazla ana makinenin maliyeti ve ayrıca daha fazla altyapı yönetimi maliyeti ile birlikte gelir.
(2) Altyapı ve dağıtım yönetimini basitleştiriyor gibi görünüyor çünkü tek bir küme var, ancak aşağıdaki gibi birkaç soruyu gündeme getiriyor:
- Bir insan hatasının üretim ortamını etkileyebileceğinden nasıl emin olunur?
- Hazırlama ortamındaki yüksek yükün üretim ortamında performans kaybına neden olmayacağından nasıl emin olunur?
Başka endişeler olabilir, bu yüzden insanların bu tür zorluklarla nasıl başa çıktıklarını daha iyi anlamak için StackOverflow'daki K8s topluluğuna ulaşıyorum.