Kümenin ne kadara mal olduğunu bilmek kolay kısım; ücretsiz araçlar bunu zaten yapıyor. Zor olan, bir ekip itiraz ettiğinde ayakta kalan ekip bazlı rakamı üretmek. Kubalance harcamayı gerçek AWS faturanızdan pod seviyesinde dağıtır, paylaşılan servisleri sizin kuralınıza göre paylaştırır ve atıl kapasiteyi hiçbir ekibe yazmaz — böylece geri faturalama bir pazarlık olmaktan çıkar.

Maliyet görünürlüğü çözülmüş bir problem; AWS, OpenCost ve Kubecost kümenin ne kadara mal olduğunu zaten gösteriyor. Hiçbirinin çözmediği şey, bir ekibe payını verdiğinizde başlayan tartışma: sahibi olmayan paylaşılan namespace'ler, o sırada yakınında çalışılan atıl kapasite ve ilk birkaç ekipten sonra gerçekle örtüşmeyi bırakan oransal tahmin. Kubalance panoyu değil, bu konuşmayı hedefler.
Salt okunur bir ClusterRole ile çalışan tek bir ajan. Yalnızca dışa doğru bağlantı kurar; kümeye gelen port açılmaz.
Ajanın topladığı pod ve düğüm kullanımı, AWS Cost and Usage Report ile birleştirilir. Savings Plan, Reserved Instance ve Spot indirimleriniz olduğu gibi yansır.
Ekip, namespace ve küme kırılımında maliyet; ayrı bir kalem olarak atıl kapasite; ve kendi kuralınıza göre dağıtılmış paylaşılan servis maliyeti.
Maliyet, namespace oranlarına göre tahmin edilmez; her podun gerçek istek ve kullanım verisinden hesaplanır.
Rakamlar AWS Cost and Usage Report'tan gelir. Savings Plan ve Spot ile ödediğiniz efektif fiyat neyse ekipler onu görür.
Kimsenin talep etmediği kapasite hiçbir ekibe fatura edilmez; ayrı gösterilir ve konsolidasyonla geri kazanılabilecek tutar hesaplanır.
ingress-nginx, logging, observability gibi namespace'ler için oransal dağıtım ya da eşit bölüşüm kuralı tanımlayın.
Her ekibin maliyeti, hangi kümelerde çalıştığıyla birlikte; CSV olarak dışa aktarılabilir.
Ekip, namespace veya küme bazında aylık bütçe tanımlayın; eşiğe yaklaşıldığında uyarı alın.
Üretim ve staging kümeleri tek kiracı altında; küme başına ajan durumu ve son bildirim zamanı görünür.
Maliyet sıçramalarını önceki döneme karşı görün; bir uyarı hangi dağıtımdan sonra tetiklendiği bilgisiyle gelir.
Pod, düğüm, namespace ve pod metrikleri. Log, Secret ve container içeriği kapsam dışında.
Ekip bazlı maliyet dağılımından bütçe uyarılarına kadar Kubalance ekranları.
Vendor değerlendirmesinden geçmesi gereken bir ajan, ne yaptığını tarif etmek yerine gösterebilmelidir. Kubalance ajanı salt okunur bir ClusterRole ile çalışır ve yalnızca aşağıdaki dört kaynağı okur.
Container içeriği, log'lar, Secret'lar ve uygulama trafiği kapsam dışıdır. Ajan yalnızca dışa doğru bağlantı kurar.
Bir ekibe "namespace'inizin kümedeki payı %18'di" demek, o ekip kendi hesabını yaptığında tartışmaya dönüşür. Pod seviyesinde ve gerçek fatura tutarından hesaplanan bir rakam ise savunulabilir: hangi podun, hangi düğümde, hangi fiyattan çalıştığı bellidir. Geri faturalamanın işe yaraması için önce itiraz edilemez olması gerekir.
Atıl kapasite, kapasite kararlarının sonucudur — o sırada yakınında çalışan ekibin değil.
Farklı bir soruyu yanıtlıyorlar. OpenCost ve Kubecost bir kümenin ve namespace'lerin ne kadara mal olduğunu gösterir; bu gerçekten faydalıdır ve başlangıçta ücretsizdir. Kubalance bir sonraki adım için kurgulandı: ekibin itiraz ettiğinde ayakta kalan bir rakam üretmek. Paylaşılan namespace'ler sizin belirlediğiniz kurala göre dağıtılır, atıl kapasite hiçbir ekibe yazılmaz ve her rakam gerçekten faturalandırıldığınız tutardan hesaplanır. Henüz kimseye geri faturalama yapmıyorsanız bize ihtiyacınız olmayabilir.
Makul bir başlangıç noktası ve AWS'in kendi özelliği: EKS pod maliyetlerini talep edilen CPU ve bellek oranına göre Cost Explorer içinde böler. Durduğu yer, tartışma çıkaran kısım: ingress veya logging gibi paylaşılan namespace'ler yine bir politika gerektirir, atıl kapasitenin yine bir sahibi olmalıdır ve ne gerekçe ne de uyarılar ekiplerinizin göreceği bir yerde durur. Bölüşümünüz tartışma yaratmıyorsa onu kullanın.
Namespace bazlı dağıtım, bir namespace tek bir ekibe ait olduğu sürece çalışır. Yaklaşık 10 ekipten sonra namespace'ler paylaşılmaya, ekipler birden fazla namespace'e yayılmaya başlar ve oransal tahmin gerçek tüketimden kopar. Kubalance maliyeti pod seviyesinde, gerçek istek ve kullanım verisine göre dağıtır.
Ajan herhangi bir uyumlu Kubernetes kümesinde çalışır; kümenin nerede barındığı fark etmez. Fatura tarafındaki eşleştirme şu anda AWS Cost and Usage Report üzerinden yapılmaktadır, dolayısıyla gerçek fatura verisiyle dağıtım bugün EKS için geçerlidir. GKE ve AKS kümeleri kullanım verisiyle izlenebilir.
Maliyetler liste fiyatından değil, AWS Cost and Usage Report'taki gerçek tutarlardan hesaplanır. Savings Plan, Reserved Instance ve Spot ile ödediğiniz efektif fiyat neyse ekiplere yansıyan rakam odur; aksi hâlde herkese gerçekte ödemediğiniz bir tutarı fatura etmiş olursunuz.
Salt okunur bir ClusterRole ile yalnızca dört kaynağa: pod, node, namespace ve pod metrikleri. Container içeriğine, log'lara, Secret'lara ve uygulama trafiğine erişim yoktur. Ajan yalnızca dışa doğru bağlantı kurar; kümeye gelen bir bağlantı açılmaz.
Kime yazılacağını siz belirlersiniz. Her paylaşılan namespace için bir dağıtım stratejisi tanımlanır: talep edilen kaynaklara oranla dağıtım ya da eşit bölüşüm. Böylece paylaşılan maliyet, tüketen ekiplere tartışmaya yer bırakmayacak bir kuralla yansıtılır.
Hiçbirine. Atıl kapasite ayrı bir kalem olarak raporlanır; çünkü bu bir kapasite kararının sonucudur, o sırada yakınında çalışan ekibin değil. Sahibi platform ekibidir ve düğüm konsolidasyonuyla geri kazanılabilecek tutar ayrıca gösterilir.