Azure Kubernetes Service'te (AKS) maliyet iyileştirme için en iyi yöntemler
Maliyet iyileştirmesi, bulut ortamınızdaki gereksiz harcamaları en aza indirirken kaynakların değerini en üst düzeye çıkarmaktır. Bu süreç, uygun maliyetli yapılandırma seçeneklerini belirlemeyi ve operasyonel verimliliği artırmak için en iyi yöntemleri uygulamayı içerir. AKS ortamı, performans ve güvenilirlik gereksinimlerini dikkate alarak maliyeti en aza indirmek için iyileştirilebilir.
Bu makalede şunları öğreneceksiniz:
- Bütünsel izleme ve FinOps uygulamaları.
- Stratejik altyapı seçimi.
- Dinamik hak oluşturma ve otomatik ölçeklendirme.
- Önemli tasarruflar için Azure indirimlerinden yararlanma.
Maliyet tasarrufu kültürü oluşturmak için FinOps'ı benimseme
Finansal operasyonlar (FinOps), finansal sorumluluğu bulut yönetimi ve iyileştirme ile birleştiren bir disiplindir. Bulut maliyetlerini anlamak ve denetlemek için finans, operasyon ve mühendislik ekipleri arasında hizalamayı yönlendirmeye odaklanır. FinOps temeli, FinOps Framework ve FOCUS Belirtimi gibi birçok önemli proje içerir.
Daha fazla bilgi için bkz . FinOps nedir?
Uygulama ortamını hazırlama
SKU ailesini değerlendirme
Dağıtımdan önce uygulamanızın kaynak gereksinimlerini değerlendirmek önemlidir. Küçük geliştirme iş yüklerinin büyük üretime hazır iş yüklerinden farklı altyapı gereksinimleri vardır. CPU, bellek ve ağ kapasitesi yapılandırmalarının birleşimi bir SKU'nun maliyet verimliliğini büyük ölçüde etkilese de aşağıdaki sanal makine (VM) türlerini göz önünde bulundurun:
SKU ailesi | Açıklama | Kullanım örneği |
---|---|---|
Azure Spot Sanal Makineler | Azure Spot Sanal makine ölçek, Spot düğüm havuzlarını geri ayarlar ve yüksek kullanılabilirlik veya hizmet düzeyi sözleşmesi (SLA) garantisi olmadan tek bir hata etki alanına dağıtılır. Spot VM'ler, önemli indirimlerle (kullandıkça öde fiyatlarına kıyasla %90'a kadar) unutilized Azure kapasitesinden yararlanmanızı sağlar. Azure'ın kapasiteye geri ihtiyacı varsa, Azure altyapısı Spot düğümlerini çıkartır. | Geliştirme/test ortamları, toplu işleme işleri gibi kesintileri işleyebilen iş yükleri ve esnek yürütme süresine sahip iş yükleri için idealdir. |
Ampere Altra Arm tabanlı işlemciler (Arm64) | Arm64 VM'leri güç açısından verimli ve uygun maliyetlidir ancak performans açısından ödün vermez. AKS'de Arm64 düğüm havuzu desteğiyle Arm64 Ubuntu aracı düğümleri oluşturabilir ve hatta küme içindeki Intel ve ARM mimari düğümlerini karıştırabilirsiniz. Bu ARM VM'leri dinamik, ölçeklenebilir iş yüklerini verimli bir şekilde çalıştıracak şekilde tasarlanmıştır ve ölçek genişletme iş yükleri için karşılaştırılabilir x86 tabanlı VM'lere göre %50'ye kadar daha iyi fiyat performansı sunabilir. | Web veya uygulama sunucuları, açık kaynak veritabanları, bulutta yerel uygulamalar, oyun sunucuları ve daha fazlası için idealdir. |
GPU için iyileştirilmiş SKU'lar | İş yükünüzün yapısına bağlı olarak işlem için iyileştirilmiş, bellek için iyileştirilmiş, depolama için iyileştirilmiş ve hatta grafik işleme birimi (GPU) için iyileştirilmiş VM SKU'larını kullanmayı göz önünde bulundurun. GPU VM boyutları tek, çoklu ve kesirli GPU'larla kullanılabilen özel VM'lerdir. | AKS'deki GPU özellikli Linux düğüm havuzları, grafik işleme, büyük model eğitimi ve çıkarım gibi yoğun işlem gerektiren iş yükleri için en iyisidir. |
Not
İşlem maliyeti bölgeler arasında farklılık gösterir. İş yüklerini çalıştırmak için daha düşük maliyetli bir bölge seçerken gecikme süresinin yanı sıra veri aktarımı maliyetlerinin olası etkisinin farkında olun. VM SKU'ları ve özellikleri hakkında daha fazla bilgi edinmek için bkz . Azure'da sanal makineler için boyutlar.
Depolama seçeneklerini gözden geçirme
Depolama seçenekleri ve ilgili maliyet konuları hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
- Azure Kubernetes Service'te (AKS) depolama ve yedekleme için en iyi yöntemler
- Azure Kubernetes Service'teki (AKS) uygulamalar için depolama seçenekleri
Küme önceden ayarlanmış yapılandırmalarını kullanma
Doğru VM SKU'sunu, bölgeleri, düğüm sayısını ve diğer yapılandırma seçeneklerini seçmek zor olabilir. Azure portalındaki küme önceden ayarlanmış yapılandırmaları , maliyet bilincine sahip ve yüksek performanslı farklı uygulama ortamları için önerilen yapılandırmalar sağlayarak bu ilk sınamayı boşaltır. Geliştirme/Test ön ayarı, yeni iş yükleri geliştirmek veya mevcut iş yüklerini test etme için en iyisidir. İş yükleriniz kesintilere dayanabiliyorsa Üretim Ekonomisi ön ayarı, üretim trafiğine maliyet açısından bilinçli bir şekilde hizmet etmek için en iyisidir. Kritik olmayan özellikler varsayılan olarak kapalıdır ve önceden ayarlanmış değerler istediğiniz zaman değiştirilebilir.
Çok kiracılılığı göz önünde bulundurun
AKS, çok kiracılı kümeleri çalıştırma ve kaynakları yalıtma konusunda esneklik sunar. Kolay çoklu kiracı için, mantıksal yalıtım aracılığıyla kümeleri ve altyapıyı ekipler ve iş birimleri arasında paylaşabilirsiniz. Kubernetes Ad Alanları, iş yükleri ve kaynaklar için mantıksal yalıtım sınırını oluşturur. Altyapı paylaşımı, küme yönetimi ek yükünü azaltırken küme içindeki kaynak kullanımını ve pod yoğunluğunun da iyileştirilmesini sağlar. AKS'de çok kiracılılık hakkında daha fazla bilgi edinmek ve bunun kurumsal gereksinimlerinize uygun olup olmadığını belirlemek için bkz . Çok kiracılılık için AKS konuları ve Çok kiracılılık için kümeleri tasarlama.
Uyarı
Kubernetes ortamları düşman çok kiracılılığı için tamamen güvenli değildir. Paylaşılan altyapıdaki herhangi bir kiracıya güvenilemiyorsa, kiracıların diğer hizmetlerin güvenliğini etkilemesini önlemek için daha fazla planlama gerekir.
Fiziksel yalıtım sınırlarını göz önünde bulundurun. Bu modelde ekipler veya iş yükleri kendi kümelerine atanır. Eklenen yönetim ve finansal ek yük, bir dezavantaj olacaktır.
Bulutta yerel uygulamalar oluşturma
Kapsayıcınızı mümkün olduğunca yalın hale getirme
Yalın kapsayıcı, kapsayıcılı uygulamanın boyutunu ve kaynak ayak izini iyileştirmeyi ifade eder. Temel görüntünüzün çok az olduğundan ve yalnızca gerekli bağımlılıkları içerdiğinden denetleyin. Gereksiz kitaplıkları ve paketleri kaldırın. Daha küçük bir kapsayıcı görüntüsü dağıtım sürelerini hızlandırır ve ölçeklendirme işlemlerinin verimliliğini artırır. AKS'de Yapıt Akışı, Azure Container Registry'den (ACR) kapsayıcı görüntülerinin akışını yapmanızı sağlar. Yalnızca ilk pod başlatma için gerekli katmanı çeker ve dakikalardan saniyelere kadar daha büyük görüntüler için çekme süresini azaltır.
Kaynak kotalarını zorunlu kılma
Kaynak kotaları , geliştirme ekibi veya proje genelinde kaynakları ayırmak ve sınırlamak için bir yol sağlar. Kotalar bir ad alanında tanımlanır ve işlem kaynakları, depolama kaynakları ve nesne sayılarında ayarlanabilir. Kaynak kotaları tanımladığınızda, tek tek ad alanlarının ayrılandan daha fazla kaynak tüketmesini engeller. Kaynak kotaları, ekiplerin altyapıyı paylaştığı çok kiracılı kümeler için kullanışlıdır.
Küme başlatma/durdurma kullanma
Katılımsız bırakıldığında, küçük geliştirme/test kümeleri gereksiz maliyetler tahakkuk edebilir. Küme başlatma ve durdurma özelliğini kullanarak her zaman çalıştırılması gerekmeyen kümeleri kapatabilirsiniz. Bu özellik tüm sistem ve kullanıcı düğümü havuzlarını kapatarak fazladan işlem için ödeme yapmanıza neden olmaz. Kümenizi ve nesnelerinizin durumu, kümeyi yeniden başlattığınızda korunur.
Kapasite rezervasyonlarını kullanma
Kapasite rezervasyonları, herhangi bir süre boyunca bir Azure bölgesinde veya kullanılabilirlik alanında işlem kapasitesi ayırmanıza olanak tanır. Ayrılmış kapasite, rezervasyon silinene kadar hemen kullanılabilir. Mevcut kapasite rezervasyon grubunu bir düğüm havuzuyla ilişkilendirmek, düğüm havuzunuz için ayrılmış kapasiteyi garanti eder ve yüksek işlem talebi dönemlerinde olası isteğe bağlı fiyatlandırma artışlarını önlemenize yardımcı olur.
Ortamınızı izleme ve harcama
Microsoft Maliyet Yönetimi ile görünürlüğü artırma
Microsoft Maliyet Yönetimi , kümenin hem içindeki hem de dışındaki maliyetler için bulut bütçeleme, tahmin ve görünürlük konusunda yardımcı olacak geniş bir özellik kümesi sunar. Harcama eğilimlerini çözmek, iyileştirme fırsatlarını belirlemek ve uygulama geliştiricileri ile platform ekipleri arasında sorumluluğu artırmak için uygun görünürlük gereklidir. Azure İşlem, Ağ ve Depolama kategorilerinin yanı sıra Kubernetes yapılarının ayrıntılı küme maliyet dökümü için AKS Maliyet Analizi eklentisini etkinleştirin.
Azure İzleyici
Kapsayıcı içgörüleri aracılığıyla ölçüm verilerini alırsanız, maliyette önemli bir düşüş sunan yönetilen Prometheus'a geçiş yapmanızı öneririz. Veri toplama kuralını (DCR) kullanarak Kapsayıcı içgörüleri ölçümlerini devre dışı bırakabilir ve Azure Resource Manager, Azure CLI, Azure portalı ve Terraform aracılığıyla yapılandırmayı destekleyen yönetilen Prometheus eklentisini dağıtabilirsiniz.
Daha fazla bilgi için bkz . Azure İzleyici en iyi yöntemleri ve Kapsayıcı içgörüleri için maliyetleri yönetme.
Log Analytics
Denetim düzlemi günlükleri için ihtiyacınız olmayan kategorileri devre dışı bırakmayı ve/veya Log Analytics maliyetlerini azaltmak için uygun olduğunda Temel Günlükler API'sini kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) denetim düzlemi/kaynak günlükleri. Veri düzlemi günlükleri veya uygulama günlükleri için maliyet iyileştirme ayarlarını yapmayı göz önünde bulundurun.
Otomatik ölçeklendirme ile iş yüklerini iyileştirme
Temel oluşturma
Otomatik ölçeklendirme ayarlarınızı yapılandırmadan önce Azure Yük Testi'ni kullanarak uygulamanız için bir temel oluşturabilirsiniz. Yük testi, uygulamanızın farklı trafik koşullarında nasıl davrandığını anlamanıza ve performans sorunlarını belirlemenize yardımcı olur. Temeli aldıktan sonra, uygulamanızın beklenen yükü işleyebilmesini sağlamak için otomatik ölçeklendirme ayarlarını yapılandırabilirsiniz.
Uygulama otomatik ölçeklendirmesini etkinleştirme
Dikey pod otomatik ölçeklendirme
Gerçek kullanımdan daha yüksek istekler ve sınırlar, fazla sağlanan iş yüklerine ve kaynakların boşa harcanmasıyla sonuçlanabilir. Buna karşılık, çok düşük istekler ve sınırlar bellek yetersizliğinden dolayı azaltma ve iş yükü sorunlarına neden olabilir. Dikey Pod Otomatik Ölçeklendiricisi (VPA), podlarınız için gereken CPU ve bellek kaynaklarına ince ayar yapmanızı sağlar. VPA, el ile ayarlayabileceğiniz veya otomatik olarak güncelleştirebileceğiniz geçmiş kapsayıcı kullanımına göre CPU ve bellek istekleri ve sınırları için önerilen değerler sağlar. Dalgalı kaynak talepleri olan uygulamalar için en iyi yöntemdir.
Yatay pod otomatik ölçeklendirme
Yatay Pod Otomatik Ölçeklendiricisi (HPA), CPU veya bellek kullanımı gibi gözlemlenen ölçümlere göre pod çoğaltmalarının sayısını dinamik olarak ölçeklendirir. Talebin yüksek olduğu dönemlerde HPA ölçeği genişleterek iş yükünü dağıtmak için daha fazla pod çoğaltması ekler. Talebin düşük olduğu dönemlerde HPA ölçeği daraltarak kaynaklardan tasarruf etmek için çoğaltma sayısını azaltır. Tahmin edilebilir kaynak talepleri olan uygulamalar için en iyi yöntemdir.
Uyarı
VPA'yi HPA ile aynı CPU veya bellek ölçümlerinde kullanmamalısınız. Her iki otomatik ölçekleyici de aynı ölçümleri kullanarak talepteki değişikliklere yanıt vermeye çalıştığından bu birleşim çakışmalara yol açabilir. Ancak, çakışmayı önlemek ve her otomatik ölçeklendiricinin iş yükü ölçeklendirmesinin farklı yönlerine odaklanmasını sağlamak için özel ölçümler için HPA ile CPU veya bellek için VPA kullanabilirsiniz.
Kubernetes olay temelli otomatik ölçeklendirme
Kubernetes Event-driven Autoscaler (KEDA) eklentisi, uygulama davranışınızla uyumlu çeşitli olay temelli ölçümlere göre ölçeklendirmek için ek esneklik sağlar. Örneğin, bir web uygulaması için KEDA gelen HTTP isteği trafiğini izleyebilir ve uygulamanın yanıt vermeye devam etmesini sağlamak için pod çoğaltmalarının sayısını ayarlayabilir. İşleri işlemek için KEDA, uygulamayı ileti kuyruğu uzunluğuna göre ölçeklendirebilir. Tüm Azure Ölçeklendiricileri için yönetilen destek sağlanır.
Altyapı otomatik ölçeklendirmesini etkinleştirme
Küme otomatik ölçeklendirme
Küme Otomatik Ölçeklendiricisi, uygulama talebine ayak uydurmak için kaynak kısıtlamaları nedeniyle zamanlamayan podları izler ve düğüm havuzundaki düğüm sayısını buna göre ölçeklendirir. Düğümlerde çalışan podlar olmadığında, Küme Otomatik Ölçeklendiricisi düğüm sayısını küçültür. Küme Otomatik Ölçeklendiricisi profil ayarları, bir kümedeki tüm otomatik ölçeklendirici etkin düğüm havuzlarına uygulanır. Daha fazla bilgi için bkz . Küme Otomatik Ölçeklendiricisi en iyi yöntemleri ve dikkat edilmesi gerekenler.
Düğüm otomatik sağlama
Karmaşık iş yükleri, CPU ve bellek gereksinimlerini karşılamak için farklı VM boyutu yapılandırmalarına sahip birkaç düğüm havuzu gerektirebilir. Birkaç düğüm havuzu yapılandırmasını doğru bir şekilde seçmek ve yönetmek karmaşıklık ve işlem yükü ekler. Düğüm Otomatik Sağlama (NAP), SKU seçim işlemini basitleştirir ve iş yüklerini en verimli ve uygun maliyetli şekilde çalıştırmak için bekleyen pod kaynağı gereksinimlerine göre en uygun VM yapılandırmasını belirler.
Not
En iyi ölçeklendirme yöntemleri hakkında daha fazla bilgi için bkz. Azure Kubernetes Service'te (AKS) küçük ve orta ölçekli iş yükleri için performans ve ölçeklendirme ve Azure Kubernetes Service'te (AKS) büyük iş yükleri için en iyi performans ve ölçeklendirme yöntemleri.
Azure indirimleriyle kaydetme
Azure Rezervasyonları
İş yükünüz tahmin edilebilirse ve uzun bir süre için mevcutsa, kaynak maliyetlerinizi daha da azaltmak için Azure Rezervasyonu satın almayı göz önünde bulundurun. Azure Rezervasyonları bir yıllık veya üç yıllık bir dönemde çalışır ve işlem için kullandıkça öde fiyatlarına kıyasla %72'ye kadar indirim sunar. Rezervasyonlar eşleşen kaynaklara otomatik olarak uygulanır. Uzun bir süre boyunca aynı SKU'larda ve bölgelerde çalışmaya kararlı iş yükleri için en iyi yöntemdir.
Azure Tasarruf Planı
Tutarlı harcamanız varsa ancak SKU'lar ve bölgeler arasında farklı kaynak kullanımınız Azure Rezervasyonları'nın uygulanabilir olmasını sağlıyorsa Azure Tasarruf Planı satın almayı göz önünde bulundurun. Azure Rezervasyonları gibi Azure Tasarruf Planları da bir yıllık veya üç yıllık bir dönemde çalışır ve avantaj kapsamındaki tüm kaynaklara otomatik olarak uygulanır. SKU veya bölgeden bağımsız olarak işlem kaynaklarına sabit saatlik bir miktar harcamayı taahhüt edersiniz. Farklı kaynaklar ve/veya farklı veri merkezi bölgeleri kullanan iş yükleri için idealdir.
Azure Hibrit Avantajı
Azure Kubernetes Service (AKS) için Azure Hibrit Avantajı, şirket içi lisanslarınızı ek ücret ödemeden en üst düzeye çıkarmanızı sağlar. Azure'da Windows VM'lerini daha düşük bir maliyetle almak için etkin bir Yazılım Güvencesi (SA) veya uygun aboneliğe sahip uygun şirket içi lisansları kullanın.
Sonraki adımlar
Maliyet iyileştirme, sürekli ve yinelemeli bir çabadır. Aşağıdaki önerileri ve mimari kılavuzunu gözden geçirerek daha fazla bilgi edinin:
Azure Kubernetes Service