Küme maliyet optimizasyonu, iş yükü kararlılığından ödün vermeden küme kaynaklarını ekonomik şekilde kullanmak anlamına gelir. Bu kılavuz; örnek seçimi, faturalama yöntemleri, otomatik ölçeklendirme, pod zamanlaması ve maliyet izleme konularını kapsayarak Alibaba Cloud üzerinde bir FinOps uygulaması oluşturmanız için pratik bir çerçeve sunar.
Bu kılavuz, Container Service for Kubernetes (ACK) kümelerinin yöneticileri için hazırlanmıştır. Öneriler öncelik sırasına göre düzenlenmemiştir; bunları iş gereksinimlerinize göre uygulayın. Başlamadan önce aşağıdaki Kubernetes kavramlarına aşina olun: podlar ve konteyner kaynakları, ad alanları, otomatik ölçeklendirme (iş yükü ölçeklendirme ve düğüm ölçeklendirme) ve zamanlama.
İlgili konular:
Uygulama kararlılığını sağlamak için bu önerileri Yüksek kullanılabilirliğe sahip kümeler oluşturmaya yönelik önerilen yapılandırmalar ve Önerilen iş yükü yapılandırmaları ile birleştirin.
ACK Pro kümenizde 500'den fazla düğüm veya 10.000'den fazla pod varsa Büyük ölçekli kümelerin kullanımıyla ilgili öneriler bölümünü takip edin.
Bir FinOps sistemi oluşturmak ve stratejik maliyet hedefleri belirlemek için Cost Suite konusuna bakın. FinOps (Finance + DevOps), ekiplerin cloud kaynak maliyetlerini tahmin etmesine, izlemesine ve optimize etmesine yardımcı olan bir cloud finansal yönetim uygulama setidir.
Örnek türlerini ve faturalama yöntemlerini seçin
Bir küme oluşturmadan önce iş yüklerinizin kaynak gereksinimlerini değerlendirin ve performans ile maliyeti dengeleyen örnek türleri ve faturalama yöntemleri seçin.
Örnek türlerini iş yükü profillerine eşleştirin
Aşağıdaki tabloda yaygın iş yükü profilleri ile her biri için önerilen örnek türleri ve faturalama yöntemleri özetlenmiştir.
| İş yükü profili | Önerilen örnek türü | Önerilen faturalama yöntemi | Notlar |
|---|---|---|---|
| Web hizmetleri ve veritabanları (kararlı, uzun süre çalışan) | Genel amaçlı (örn. ecs.g serisi) | Abonelik veya tasarruf planı | Öngörülebilir yaşam döngüsü; abonelik ve tasarruf planları birim maliyeti düşürür |
| Dağıtılmış önbellekleme (bellek yoğunluklu) | Bellek optimizasyonlu (1:8 vCPU-bellek oranı) | Abonelik veya kullandıkça öde | Bellek optimizasyonlu örnekler, bellek yoğunluklu uygulamalar için daha düşük maliyetle CPU kullanımını artırır |
| Derin öğrenme ve model eğitimi | GPU hızlandırmalı | Kullandıkça öde veya preemptible | GPU-vCPU oranı: 1:8 ila 1:12; hataya dayanıklı eğitim işleri için preemptible örnekleri kullanın |
| Toplu iş, ETL, olay güdümlü işler | Herhangi biri | Preemptible | Kullandıkça ödeye kıyasla %90'a kadar daha ucuz; durumu olmayan, hataya dayanıklı iş yükleri için uygundur |
| Geliştirme/test ve küçük web siteleri | Paylaşımlı örnek aileleri | Kullandıkça öde | Daha düşük fiyat; performans dalgalanmaları olabilir; üretim ortamları için uygun değildir |
| Trafik artışları ve e-ticaret promosyonları | Genel amaçlı | Kullandıkça öde | Esnek; önceden taahhüt gerekmez |
Kaynak darboğazlarını ve parçalanmayı önlemek için üretim ortamlarında 2 vCPU ve 4 GB veya daha az belleğe sahip örnek türlerinden kaçının. Ayrıntılar için ACK kümeleri için ECS teknik özellikler önerileri konusuna bakın.
Örnek seçimiyle ilgili genel rehberlik için ACK kümeleri için ECS teknik özelliklerinin seçilmesiyle ilgili öneriler konusuna bakın.
Preemptible örnekleri kullanın
Preemptible örnekler, gerçek zamanlı envantere göre fiyatlandırılan kullandıkça öde örneklerdir. Düzenli kullandıkça öde örneklerle karşılaştırıldığında toplam maliyetleri %90'a kadar azaltabilirler.
Preemptible örneklerin süresi dolduğunda geri alınabilir. Bunları yalnızca durumu olmayan, hataya dayanıklı iş yükleri için kullanın, örneğin:
Toplu iş ve makine öğrenimi
Büyük veri ETL işleri (örneğin Apache Spark)
Sıraya alınmış işlem işleme
REST API'leri kullanan uygulamalar
En iyi uygulamalar için Preemptible örnek tabanlı düğüm havuzları için en iyi uygulamalar konusuna bakın.
Paylaşımlı örnek ailelerini kullanın
Paylaşımlı örnek aileleri bireysel geliştiriciler, küçük ve orta ölçekli web siteleri, web uygulamaları, geliştirme ortamları, hafif veritabanları ve hafif kurumsal sınıf uygulamalar için uygundur. CPU kaynakları paylaşıldığından ağır yük altında performans dalgalanabilir. Ayrıntılar için Paylaşımlı örnek aileleri konusuna bakın.
Tasarruf planlarını kullanın
Uzun süre çalışan ECS örnekleri veya esnek konteyner örnekleri için indirimli kullandıkça öde fiyatlandırmasından yararlanmak üzere tasarruf planları satın alın. Tasarruf planları 1, 3 veya 5 yıllık taahhüt gerektirir. Tasarruf planlarına genel bakış ve Tasarruf planlarını satın alma ve uygulama konularına bakın.
Bir bölge seçin
ECS örnek fiyatları bölgeye göre değişir. İş yükleriniz daha yüksek ağ gecikme süresini tolere edebiliyorsa daha düşük maliyetli bir bölgede dağıtım yapmak giderleri azaltabilir. Bölge bazlı fiyatlandırma için Elastic Compute Service sayfasına bakın.
ACK yönetilen kümelerini kullanın
ACK yönetilen kümeleri kontrol düzlemini (master düğümler) Alibaba Cloud üzerinde barındırır; yalnızca worker düğümleri sağlarsınız ve kontrol düzlemi için herhangi bir kaynak ücreti ödemezsiniz. Bu durum yönetilen kümeleri dedicated kümelere kıyasla daha maliyet etkin hale getirir.
Yüksek kararlılık ve güvenlik gerektiren büyük ölçekli iş yükleri için ACK Pro kümelerini kullanın. ACK Pro kümeleri, tazminat hükümleri içeren SLA'larla korunur ve gelişmiş güvenilirlik, güvenlik ve zamanlanabilirlik sunar. ACK Pro kümelerine genel bakış konusuna bakın.
İş yükü kaynak tahsisini doğru boyutlandırın
Kaynak isteklerini ve limitlerini yapılandırın
Kaynak isteklerini ve limitlerini doğru şekilde ayarlayın. Çok yüksek istekler kapasite israfına neden olur; çok düşük istekler ise yoğun yük sırasında kararlılık riski doğurur. Bu değerleri kalibre etmek için geçmiş konteyner kullanım verilerini ve stres testi sonuçlarını kullanın.
Geçmiş kullanım verilerinden önerilen konteyner kaynak teknik özelliklerini oluşturmak için kaynak profil oluşturma özelliğini kullanın. Kaynak profil oluşturma, kaynak ayarlarının ince ayar karmaşıklığını azaltır ve genel kullanımı iyileştirir. Kaynak profil oluşturma konusuna bakın.
Uygulamanız geliştikçe kaynak isteklerini ve limitlerini sürekli olarak gözden geçirin; dağıtım sırasında doğru olan yapılandırmalar zamanla eskileyebilir.
Ad alanlarını ve kaynak kotalarını yönetin
Çok kiracılı kümelerde, farklı ekipler veya iş yükleri için kaynakları yalıtmak amacıyla ad alanlarını kullanın ve her ad alanı başına tüketimi sınırlamak için kaynak kotaları ayarlayın. Yapılandırılabilen kota türleri arasında CPU, bellek, depolama ve pod sayısı bulunur. Ad alanlarını ve kaynak kotalarını yönetme konusuna bakın.
Atıl kapasiteyi azaltmak için otomatik ölçeklendirmeyi kullanın
Otomatik ölçeklendirme, küme maliyetlerini düşürmenin en etkili yollarından biridir. Yoğun saatlerde trafiği karşılamak için podları ölçeklendirin ve yoğun olmayan saatlerde yalnızca kullandığınız kadar ödemek için ölçeği küçültün; böylece yoğun talep için aşırı kaynak sağlamanıza gerek kalmaz.
ACK iki katmanlı otomatik ölçeklendirmeyi destekler:
İş yükü ölçeklendirme: İş yükü düzeyinde pod sayısını veya pod kaynak tahsisini ayarlar
Hesaplama kaynağı ölçeklendirmesi: Pod zamanlama talebine göre düğüm sayısını ayarlar veya sanal düğümler sağlar
İş yükü ölçeklendirme
| Çözüm | Ne zaman kullanılır | Temel hususlar |
|---|---|---|
| Yatay Pod Otomatik Ölçeklendirme (HPA) | Değişken trafiğe sahip hizmetler; CPU kullanımı, bellek kullanımı veya özel ölçümlere göre ölçeklendirme | Kaynak isteklerini ve limitlerini yapılandırın; pod sağlık kontrollerini ve otomatik kurtarmayı yapılandırın; Metrics Server'ın çalıştığından emin olun |
| Cron Yatay Pod Otomatik Ölçeklendirme (CronHPA) | Öngörülebilir trafik modelleri; sabit zamanlarda planlanmış ölçek büyütme | Kaynak isteklerini ve limitlerini yapılandırın; pod sağlık kontrollerini ve otomatik kurtarmayı yapılandırın; HPA ve CronHPA'yı birlikte kullanırken çakışmaları önleyin — bkz. CronHPA'nın HPA ile uyumlu hale getirilmesi |
| Dikey Pod Otomatik Ölçeklendirme (VPA) | Kararlı kaynak talebine sahip durumsal uygulamalar; geçmiş kullanıma dayalı olarak pod CPU ve belleğini doğru boyutlandırma | Pod Kesinti Bütçelerini (PDB) yapılandırın; Metrics Server'ın çalıştığından emin olun; VPA önlemlerini gözden geçirin |
| Uyarlamalı Yatay Pod Otomatik Ölçeklendirme (AHPA) | Tekrarlayan trafik döngülerine sahip iş yükleri; geçmiş modellere dayalı olarak artışlardan önce proaktif olarak ölçek büyütme | Kaynak isteklerini ve limitlerini yapılandırın; pod sağlık kontrollerini ve otomatik kurtarmayı yapılandırın |
| Kubernetes Olay Güdümlü Otomatik Ölçeklendirme (KEDA) | Kafka, MySQL, PostgreSQL, RabbitMQ veya MongoDB'den tüketen olay güdümlü iş yükleri; video/ses kod dönüştürme, veri akışı | Kaynak isteklerini ve limitlerini yapılandırın; pod sağlık kontrollerini ve otomatik kurtarmayı yapılandırın |
Düğüm ölçeklendirme
Küme düğüm kaynakları yetersiz olduğunda pod zamanlama hatalarını önlemek için iş yükü ölçeklendirmenin yanı sıra düğüm ölçeklendirmeyi etkinleştirin. Düğüm otomatik ölçeklendirme ile düğüm anlık ölçeklendirme arasında seçim yapmak için Ölçeklendirme çözümleri: düğüm otomatik ölçeklendirme ve düğüm anlık ölçeklendirme konusuna bakın.
| Çözüm | Ne zaman kullanılır | Temel hususlar |
|---|---|---|
| Düğüm otomatik ölçeklendirme | 20'den az otomatik ölçeklendirme etkin düğüm havuzu veya düğüm havuzu başına 100'den az düğüm içeren kümeler; kararlı veya öngörülebilir trafik modelleri | Kaynak isteklerini ve limitlerini yapılandırın; Pod Kesinti Bütçelerini (PDB) yapılandırın |
| Düğüm anlık ölçeklendirme | Düğüm otomatik ölçeklendirme sınırlarını aşan büyük ölçekli veya hızlı ölçeklendirme ihtiyaçları | Etkinleştirmeden önce düğüm anlık ölçeklendirmenin sınırlarını gözden geçirin |
| Sanal düğümler | ECS örnekleri sağlamadan kısa bir zaman aralığında çok sayıda pod gerektiren ani artış iş yükleri | Sanal düğüm zamanlamasına giriş ve çözüm karşılaştırması ve Podları esnek konteyner örneklerine zamanlama konularına bakın |
Pod zamanlamasını optimize edin
Dinamik kaynak aşırı taahhüdü
Garantili ve Patlayabilir podlar bir kümeyi paylaştığında, uygulama yöneticileri genellikle iş yükü dalgalanmalarını absorbe etmek için her pod için bir kaynak tamponu yapılandırır; bu durum istenen ve gerçek kaynak kullanımı arasında bir boşluk bırakır. Dinamik kaynak aşırı taahhüdü, kullanılmayan bu kapasitenin Best Effort (BE) podları için geri kazanılmasını sağlar.
Ne kadar tamponun korunacağını tanımlamak için bir kaynak yedeklilik oranı yapılandırın. Yedeklilik oranının ötesindeki kaynaklar dinamik olarak BE podlarının kullanımına sunulur. Her düğümdeki aşırı taahhüt edilebilir miktar, gerçek kullanıma dayalı olarak gerçek zamanlı olarak ayarlanır. Podları düğüme zamanlarken Best Effort (BE) podlarına öncelik verebilirsiniz.
Gecikmeye Duyarlı (LS) podları ve kaynak yoğun BE podlarının aynı düğümü paylaştığı birlikte yerleştirme senaryoları için, ince taneli CPU ve bellek yönetimini etkinleştirmek üzere BE podları için kaynak aşırı taahhüdünü yapılandırın. Dinamik kaynak aşırı taahhüdünü etkinleştirme ve Başlangıç kılavuzu konularına bakın.
GPU paylaşımı
GPU maliyetlerini azaltmak için tek bir GPU üzerinde birden fazla konteyner çalıştırın.
İki mod mevcuttur:
Tek GPU paylaşımı: Her pod bir GPU ister ve kaynaklarının bir kısmını kaplar. Model çıkarım senaryoları için uygundur.
Çoklu GPU paylaşımı: Her pod birden fazla GPU ister ve her birinden aynı kaynak miktarı tahsis edilir. Dağıtılmış model geliştirme ve eğitimi için uygundur.
GPU paylaşımını ve yalıtım ilkelerini yapılandırın; örneğin, birden fazla podu tek bir GPU üzerine paketleyin veya GPU'lara dağıtın. GPU paylaşımı konusuna bakın.
Maliyetleri izleyin ve israfı tespit edin
Cost Insights'i kullanın
Cost Insights, belirtilen bir maliyet yönetimi döngüsü içinde kümeler, departmanlar veya uygulamalar için kaynak kullanımını ve maliyetleri görüntülemenizi sağlar. Özellik, ACK'deki en küçük dağıtılabilir birim olan her bir podun maliyetini tahmin etmek ve toplam maliyeti iş birimlerine tahsis etmek için bir maliyet veri modeli kullanır. Çok boyutlu panolar, geçmiş kullanım trendlerini analiz etmenize ve beklenmeyen ücretlerin kaynağını belirlemenize olanak tanır. Cost Insights konusuna bakın.
Atıl kaynakları tarayın
Kullanılmayan kapasite için ödeme yapmaktan kaçınmak amacıyla CPU, bellek, depolama ve ağ kaynakları dahil olmak üzere atıl kaynakları periyodik olarak tarayın ve serbest bırakın.
Atıl podları tespit etmek ve buna göre kaynak tahsis ilkelerini ayarlamak için Cost Insights'i kullanın. Faturalama yöntemleri ve pod kullanımı konusuna bakın.
ACK ayrıca Elastic Compute Service (ECS) örnekleri, Elastic Block Storage (EBS) birimleri, Classic Load Balancer (CLB) örnekleri ve esnek IP adresleri (EIP) gibi kümeyle ilgili atıl kaynakları tespit etmek için araçlar sağlar. Atıl kaynak optimizasyonu konusuna bakın.