Azure Kubernetes Service'te (AKS) küçük ve orta ölçekli iş yükleri için performans ve ölçeklendirme için en iyi yöntemler
Not
Bu makale, küçük ve orta ölçekli iş yükleri için genel en iyi yöntemlere odaklanmaktadır. Büyük iş yüklerine özgü en iyi yöntemler için bkz. Azure Kubernetes Service'te (AKS) büyük iş yükleri için en iyi performans ve ölçeklendirme yöntemleri.
AKS'de kümeleri dağıtır ve korurken, performansı ve ölçeklendirmeyi iyileştirmenize yardımcı olması için aşağıdaki en iyi yöntemleri kullanabilirsiniz.
Bu makalede şunları öğreneceksiniz:
- İş yüklerinizi otomatik ölçeklendirmeye yönelik ödünler ve öneriler.
- İş yükü taleplerinize göre düğüm ölçeklendirmeyi ve verimliliği yönetme.
- Giriş ve çıkış trafiği için ağ konusunda dikkat edilmesi gerekenler.
- Denetim düzlemi ve düğüm performansını izleme ve sorun giderme.
- Kapasite planlaması, dalgalanma senaryoları ve küme yükseltmeleri.
- Veri düzlemi performansı için depolama ve ağ konuları.
Uygulama otomatik ölçeklendirme ve altyapı otomatik ölçeklendirme karşılaştırması
Uygulama otomatik ölçeklendirme
Uygulama otomatik ölçeklendirmesi, maliyet iyileştirme veya altyapı sınırlamalarıyla ilgilenirken kullanışlıdır. İyi yapılandırılmış bir otomatik ölçeklendirici, uygulamanız için yüksek kullanılabilirlik sağlarken maliyetleri de en aza indirir. Talepten bağımsız olarak yalnızca kullanılabilirliği korumak için gereken kaynaklar için ödeme yapılır.
Örneğin, mevcut bir düğümde alan varsa ancak alt ağda yeterli IP yoksa, yeni bir düğüm oluşturmayı atlayabilir ve bunun yerine uygulamayı yeni bir pod üzerinde hemen çalıştırmaya başlayabilir.
Yatay Pod otomatik ölçeklendirme
Yatay pod otomatik ölçeklendirmesi uygulamak, kararlı ve öngörülebilir kaynak talebi olan uygulamalar için kullanışlıdır. Yatay Pod Otomatik Ölçeklendiricisi (HPA), yükü birden çok pod ve düğüm arasında etkili bir şekilde dağıtan pod çoğaltmalarının sayısını dinamik olarak ölçeklendirir. Bu ölçeklendirme mekanizması genellikle paralel olarak çalışabilen daha küçük, bağımsız bileşenlere bölünebilen uygulamalar için en faydalıdır.
HPA varsayılan olarak kaynak kullanım ölçümleri sağlar. Ayrıca özel ölçümleri tümleştirebilir veya Kubernetes Event-Driven Autoscaler (KEDA) (Önizleme) gibi araçlardan yararlanabilirsiniz. Bu uzantılar, HPA'nın ölçeklendirme kararlarını birden çok perspektife ve ölçüte göre vermesine olanak tanıyarak uygulamanızın performansına daha bütünsel bir görünüm sağlar. Bu, özellikle çeşitli karmaşık ölçeklendirme gereksinimlerine sahip uygulamalar için yararlıdır.
Not
Uygulamanız için yüksek kullanılabilirlik sağlamak en yüksek öncelikse, HPA'nızın ölçeklendirme süresini hesaba katması için minimum pod numarası için biraz daha yüksek bir arabellek bırakmanızı öneririz.
Dikey Pod otomatik ölçeklendirme
Dikey pod otomatik ölçeklendirmesi uygulamak, dalgalı ve öngörülemeyen kaynak talepleri olan uygulamalar için kullanışlıdır. Dikey Pod Otomatik Ölçeklendiricisi (VPA), tek tek podlar için CPU ve bellek de dahil olmak üzere kaynak isteklerinde ince ayar yapmanızı sağlar ve kaynak ayırma üzerinde hassas denetim sağlar. Bu ayrıntı düzeyi, kaynak israfını en aza indirir ve küme kullanımının genel verimliliğini artırır. VPA ayrıca kaynak ayırmayı otomatikleştirerek ve kaynakları kritik görevler için boşaltarak uygulama yönetimini kolaylaştırır.
Uyarı
VPA'nın HPA ile aynı CPU veya bellek ölçümlerinde birlikte kullanılmaması gerekir. 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. Bununla birlikte, ç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 birlikte CPU veya bellek için VPA'yı kullanabilirsiniz.
Not
VPA, geçmiş verilere göre çalışır. Öneri verilerini toplamak için zaman tanıyacak değişiklikleri uygulamadan önce VPA dağıtıldıktan sonra en az 24 saat beklemenizi öneririz.
Altyapı otomatik ölçeklendirme
Küme otomatik ölçeklendirme
Küme otomatik ölçeklendirmesini uygulamak, mevcut düğümlerinizin yeterli kapasiteye sahip olmaması durumunda kullanışlıdır; bu da ölçeği artırmaya ve yeni düğümleri sağlamaya yardımcı olur.
Küme otomatik ölçeklendirmesi göz önünde bulundurulduğunda, bir düğümün ne zaman kaldırılacağına karar vermek için kaynak kullanımını iyileştirme ve kaynak kullanılabilirliğini sağlama arasında bir denge vardır. Az kullanılan düğümlerin ortadan kaldırılması küme kullanımını geliştirir, ancak yeni iş yüklerinin dağıtılmadan önce kaynakların sağlanmasını beklemesine neden olabilir. Kümenizle iş yükü gereksinimlerinize uygun olan bu iki faktör arasında bir denge bulmak ve küme otomatik ölçeklendiricisi profil ayarlarını uygun şekilde yapılandırmak önemlidir.
Küme Otomatik Ölçeklendiricisi profil ayarları, kümenizdeki tüm otomatik ölçeklendirici etkin düğüm havuzlarına evrensel olarak uygulanır. Bu, otomatik ölçeklendirici etkin bir düğüm havuzunda gerçekleşen ölçeklendirme eylemlerinin başka bir düğüm havuzundaki otomatik ölçeklendirme davranışını etkileyebilecekleri anlamına gelir. Otomatik ölçeklendiricinin beklendiği gibi davrandığından emin olmak için tüm ilgili düğüm havuzlarına tutarlı ve eşitlenmiş profil ayarları uygulamak önemlidir.
Fazla sağlama
Fazla sağlama, kullanılabilir kaynakların fazla olmasını sağlayarak uygulama baskısı riskini azaltmaya yardımcı olan bir stratejidir. Bu yaklaşım özellikle sık ölçek artırma ve azaltma işlemleri gösteren yüksek oranda değişken yükler ve küme ölçeklendirme desenleri deneyimleyen uygulamalar için kullanışlıdır.
En uygun fazla sağlama miktarını belirlemek için aşağıdaki formülü kullanabilirsiniz:
1-buffer/1+traffic
Örneğin, kümenizde %100 CPU kullanımıyla karşılaşmamak istediğinizi varsayalım. Güvenlik marjı korumak için %30 arabellek tercih edebilirsiniz. Ortalama trafik büyüme oranının %40 olduğunu düşünüyorsanız, formül tarafından hesaplanmış olarak %50 fazla sağlamayı düşünebilirsiniz:
1-30%/1+40%=50%
Etkili bir fazla sağlama yöntemi, duraklatma podlarının kullanımını içerir. Duraklatma podları, yüksek öncelikli dağıtımlarla kolayca değiştirilebilen düşük öncelikli dağıtımlardır. Arabellek alanı ayırmanın tek amacına hizmet eden düşük öncelikli podlar oluşturursunuz. Yüksek öncelikli bir pod alan gerektirdiğinde, duraklatma podları kaldırılır ve yüksek öncelikli podu barındırmak için başka bir düğümde veya yeni bir düğümde yeniden zamanlanır.
Aşağıdaki YAML örnek duraklatma pod bildirimini gösterir:
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: overprovisioning
value: -1
globalDefault: false
description: "Priority class used by overprovisioning."
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: overprovisioning
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
run: overprovisioning
template:
metadata:
labels:
run: overprovisioning
spec:
priorityClassName: overprovisioning
containers:
- name: reserve-resources
image: your-custome-pause-image
resources:
requests:
cpu: 1
memory: 4Gi
Düğüm ölçeklendirme ve verimlilik
En iyi yöntem kılavuzu:
Düğümlerin verimli bir şekilde kullanıldığından emin olmak için kaynak kullanımını ve zamanlama ilkelerini dikkatle izleyin.
Düğüm ölçeklendirme, kümenizdeki düğüm sayısını iş yükü taleplerine göre dinamik olarak ayarlamanıza olanak tanır. Bir kümeye daha fazla düğüm eklemenin performansı geliştirmek için her zaman en iyi çözüm olmadığını anlamak önemlidir. En iyi performansı sağlamak için, düğümlerin verimli bir şekilde kullanıldığından emin olmak için kaynak kullanımını ve zamanlama ilkelerini dikkatle izlemeniz gerekir.
Düğüm görüntüleri
En iyi yöntem kılavuzu:
En son güvenlik düzeltme eklerine ve hata düzeltmelerine sahip olduğunuzdan emin olmak için en son düğüm görüntüsü sürümünü kullanın.
En son düğüm görüntüsü sürümünü kullanmak en iyi performans deneyimini sağlar. AKS, haftalık görüntü sürümleri içinde performans geliştirmeleri sağlar. En son daemonset görüntüleri, düğüm sağlama ve önyükleme için daha düşük gecikme süresi avantajları sağlayan en son VHD görüntüsünde önbelleğe alınır. Güncelleştirmelerin gerisinde kalmanın performans üzerinde olumsuz bir etkisi olabilir, bu nedenle sürümler arasında büyük boşluklardan kaçınmak önemlidir.
Azure Linux
AKS'de Azure Linux Container Host yerel bir AKS görüntüsü kullanır ve Linux geliştirme için tek bir yer sağlar. Her paket kaynaktan oluşturulur ve doğrulanır ve hizmetlerinizin kanıtlanmış bileşenlerde çalışmasını sağlar.
Azure Linux basit bir özelliktir ve yalnızca kapsayıcı iş yüklerini çalıştırmak için gerekli paket kümesini içerir. Azaltılmış bir saldırı yüzeyi sağlar ve gereksiz paketlerin yamalarını ve bakımlarını ortadan kaldırır. Temel katmanında Azure için ayarlanmış Microsoft tarafından sağlamlaştırılmış bir çekirdek bulunur. Bu görüntü, aks kümelerinin filolarını yöneten performansa duyarlı iş yükleri ve platform mühendisleri veya operatörler için idealdir.
Ubuntu 2204
Ubuntu 2204 görüntüsü AKS için varsayılan düğüm görüntüsüdür. Kapsayıcılı iş yüklerini çalıştırmak için iyileştirilmiş basit ve verimli bir işletim sistemidir. Bu, kaynak kullanımını azaltmaya ve genel performansı geliştirmeye yardımcı olabileceği anlamına gelir. Görüntü, iş yüklerinizin güvenlik açıklarına karşı korunmasına yardımcı olan en son güvenlik düzeltme eklerini ve güncelleştirmeleri içerir.
Ubuntu 2204 görüntüsü Microsoft, Canonical ve Ubuntu topluluğu tarafından tam olarak desteklenir ve kapsayıcılı iş yükleriniz için daha iyi performans ve güvenlik elde etmenize yardımcı olabilir.
Sanal makineler (VM)
En iyi yöntem kılavuzu:
Vm seçerken işletim sistemi diskinin ve VM SKU'sunun boyutunun ve performansının büyük bir tutarsızlığı olmadığından emin olun. Boyut veya performanstaki bir tutarsızlık, performans sorunlarına ve kaynak çekişmesine neden olabilir.
Uygulama performansı, iş yüklerinizde kullandığınız VM SKU'larına yakından bağlıdır. Daha büyük ve daha güçlü VM'ler genellikle daha iyi performans sağlar. Görev açısından kritik iş yükleri veya ürün iş yükleri için en az 8 çekirdekli CPU'ya sahip VM'lerin kullanılmasını öneririz. v4 ve v5 gibi daha yeni donanım nesillerine sahip VM'ler de performansı artırmaya yardımcı olabilir. Oluşturma ve ölçeklendirme gecikme süresinin kullandığınız VM SKU'larına bağlı olarak değişebileceğini unutmayın.
Ayrılmış sistem düğümü havuzlarını kullanma
Performansı ve güvenilirliği ölçeklendirmek için ayrılmış bir sistem düğümü havuzu kullanmanızı öneririz. Bu yapılandırmayla, ayrılmış sistem düğümü havuzu sistem işletim sistemi daemon'ları gibi kritik sistem kaynakları için alan ayırır. Uygulama iş yükünüz, uygulamanız için allocatable kaynaklarının kullanılabilirliğini artırmak için bir kullanıcı düğümü havuzunda çalışabilir. Bu yapılandırma, sistem ve uygulama arasındaki kaynak rekabeti riskini azaltmaya da yardımcı olur.
Oluşturma işlemleri
Oluşturma sağlama sırasında etkinleştirdiğiniz uzantıları ve eklentileri gözden geçirin. Uzantılar ve eklentiler, oluşturma işlemlerinin genel süresine gecikme süresi ekleyebilir. Bir uzantıya veya eklentiye ihtiyacınız yoksa, oluşturma gecikme süresini iyileştirmek için uzantıyı kaldırmanızı öneririz.
Olası donanım hatalarına veya planlı bakım olaylarına karşı koruma sağlamak üzere daha yüksek düzeyde kullanılabilirlik sağlamak için kullanılabilirlik alanlarını da kullanabilirsiniz. AKS kümeleri, kaynakları temel alınan Azure altyapısının mantıksal bölümleri arasında dağıtır. Kullanılabilirlik alanları, tek bir hatanın uygulamanızın kullanılabilirliğini etkilememesine yardımcı olmak için düğümleri diğer düğümlerden fiziksel olarak ayırır. Kullanılabilirlik alanları yalnızca belirli bölgelerde kullanılabilir. Daha fazla bilgi için bkz . Azure'da kullanılabilirlik alanları.
Kubernetes API sunucusu
LIST ve WATCH işlemleri
Kubernetes, Kubernetes API sunucusuyla etkileşime geçmek ve küme kaynakları hakkındaki bilgileri izlemek için LIST ve WATCH işlemlerini kullanır. Bu işlemler Kubernetes'in kaynak yönetimini nasıl gerçekleştireceklerine yönelik temel bilgilerdir.
LIST işlemi, belirli bir ad alanı içindeki tüm podlar veya kümedeki tüm hizmetler gibi belirli ölçütlere uyan kaynakların listesini alır. Bu işlem, küme kaynaklarınıza genel bir bakış elde etmek istediğinizde veya aynı anda birden çok kaynak üzerinde işleç oluşturmanız gerektiğinde kullanışlıdır.
LIST işlemi, özellikle birden çok kaynağa sahip büyük kümelerde büyük miktarda veri alabilir. İlişkisiz veya sık yapılan LIST çağrılarının API sunucusuna önemli bir yük bindirdiğini ve yanıt sürelerini kapatabileceğini unutmayın.
WATCH işlemi gerçek zamanlı kaynak izleme gerçekleştirir. Bir kaynakta watch ayarladığınızda, bu kaynakta değişiklik olduğunda API sunucusu güncelleştirmeleri size gönderir. Bu, istenen kaynak durumunu korumak için WATCH kullanan ReplicaSet denetleyicisi gibi denetleyiciler için önemlidir.
Çok fazla değiştirilebilir kaynak izlemenin veya çok fazla eşzamanlı WATCH isteğinde bulunmanın API sunucusunu bunaltabileceği ve aşırı kaynak tüketimine neden olabileceği gerçeğine dikkat edin.
Olası sorunları önlemek ve Kubernetes kontrol düzleminin kararlılığını sağlamak için aşağıdaki stratejileri kullanabilirsiniz:
Kaynak kotaları
Aşırı çağrıları önlemek için belirli bir kullanıcı veya ad alanı tarafından listelenebilen veya izlenebilen kaynak sayısını sınırlamak için kaynak kotaları uygulayın.
API Önceliği ve Eşitliği
Kubernetes, API isteklerini önceliklendirmek ve yönetmek için API Önceliği ve Eşitliği (APF) kavramını kullanıma sunar. Kümenin API sunucusunu korumak ve istemci uygulamaları tarafından görülen yanıt sayısını HTTP 429 Too Many Requests
azaltmak için Kubernetes'te APF kullanabilirsiniz.
Özel kaynak | Önemli özellikler |
---|---|
PriorityLevelConfigurations | • API istekleri için farklı öncelik düzeyleri tanımlayın. • Benzersiz bir ad belirtir ve öncelik düzeyini temsil eden bir tamsayı değeri atar. Yüksek öncelik düzeylerinin daha düşük tamsayı değerleri vardır ve bu da daha kritik olduklarını gösterir. • İstekleri önem derecesine göre farklı öncelik düzeylerine kategorilere ayırmak için birden çok kullanabilir. • Belirli bir öncelik düzeyindeki isteklerin hız sınırlarına tabi olup olmayacağını belirtmenize izin verin. |
FlowSchemas | • API isteklerinin istek özniteliklerine göre farklı öncelik düzeylerine nasıl yönlendirilmesi gerektiğini tanımlayın. • API grupları, sürümler ve kaynaklar gibi ölçütlere göre isteklerle eşleşen kurallar belirtin. • bir istek belirli bir kuralla eşleştiğinde, istek ilişkili PriorityLevelConfiguration içinde belirtilen öncelik düzeyine yönlendirilir. • Birden çok FlowSchemas belirli kuralların öncelikli olduğundan emin olmak için bir istekle eşleştiğinde değerlendirme sırasını ayarlamak için kullanabilir. |
API'yi PriorityLevelConfigurations ve FlowSchemas ile yapılandırmak, kritik API isteklerinin daha az önemli isteklere göre önceliklendirilmesini sağlar. Bu, temel işlemlerin daha düşük öncelikli istekler nedeniyle açlıktan ölmemesini veya gecikme yaşamamasını sağlar.
Etiketlemeyi ve seçicileri iyileştirme
LIST işlemlerini kullanırken, döndürülen veri miktarını ve API sunucusundaki yükü azaltmak için sorgulamak istediğiniz kaynakların kapsamını daraltmak için etiket seçicilerini iyileştirin.
Kubernetes CREATE ve UPDATE işlemlerinde, küme kaynaklarını yöneten ve değiştiren eylemlere bakın.
CREATE ve UPDATE işlemleri
CREATE işlemi Kubernetes kümesinde podlar, hizmetler, dağıtımlar, yapılandırma haritaları ve gizli diziler gibi yeni kaynaklar oluşturur. CREATE işlemi sırasında, veya denetleyici gibi kubectl
bir istemci, kubernetes API sunucusuna yeni kaynağı oluşturmak için bir istek gönderir. API sunucusu isteği doğrular, tüm erişim denetleyicisi ilkeleriyle uyumluluğu sağlar ve ardından kaynağı kümenin istenen durumunda oluşturur.
UPDATE işlemi, çoğaltma sayısı, kapsayıcı görüntüleri, ortam değişkenleri veya etiketler gibi kaynak belirtimlerindeki değişiklikler de dahil olmak üzere Kubernetes kümesindeki mevcut kaynakları değiştirir. UPDATE işlemi sırasında, bir istemci mevcut kaynağı güncelleştirmek için API sunucusuna bir istek gönderir. API sunucusu isteği doğrular, değişiklikleri kaynak tanımına uygular ve küme kaynağını güncelleştirir.
CREATE ve UPDATE işlemleri aşağıdaki koşullar altında Kubernetes API sunucusunun performansını etkileyebilir:
- Yüksek eşzamanlılık: Birden çok kullanıcı veya uygulama eşzamanlı CREATE veya UPDATE isteklerinde bulunursa, aynı anda sunucuya gelen API isteklerinde bir artışa yol açabilir. Bu, API sunucusunun işleme kapasitesini vurgulayabilir ve performans sorunlarına neden olabilir.
- Karmaşık kaynak tanımları: Aşırı karmaşık olan veya birden çok iç içe nesne içeren kaynak tanımları, API sunucusunun CREATE ve UPDATE isteklerini doğrulayıp işlemesi için gereken süreyi artırabilir ve bu da performans düşüşlerine yol açabilir.
- Kaynak doğrulama ve erişim denetimi: Kubernetes, gelen CREATE ve UPDATE isteklerinde çeşitli erişim denetimi ilkeleri ve doğrulama denetimleri uygular. Kapsamlı ek açıklamalara veya yapılandırmalara sahip olanlar gibi büyük kaynak tanımları daha fazla işlem süresi gerektirebilir.
- Özel denetleyiciler: Dağıtımlar veya StatefulSet denetleyicileri gibi kaynaklardaki değişiklikleri izleyen özel denetleyiciler, değişiklikleri ölçeklendirirken veya dağıtırken önemli sayıda güncelleştirme oluşturabilir. Bu güncelleştirmeler API sunucusunun kaynaklarını zorlayabilir.
Daha fazla bilgi için bkz . AKS'de API sunucusu ve vbd sorunlarını giderme.
Veri düzlemi performansı
Kubernetes veri düzlemi, kapsayıcılar ve hizmetler arasındaki ağ trafiğini yönetmekten sorumludur. Veri düzlemiyle ilgili sorunlar yavaş yanıt sürelerine, düşük performansa ve uygulama kapalı kalma süresine yol açabilir. Kapsayıcılı uygulamalarınızın sorunsuz ve verimli bir şekilde çalıştığından emin olmak için ağ gecikme süresi, kaynak ayırma, kapsayıcı yoğunluğu ve ağ ilkeleri gibi veri düzlemi yapılandırmalarını dikkatle izlemek ve iyileştirmek önemlidir.
Depolama türleri
AKS kısa ömürlü işletim sistemi diskleri kullanılmasını önerir ve varsayılan olarak kullanır. Kısa ömürlü işletim sistemi diskleri yerel VM depolamada oluşturulur ve yönetilen işletim sistemi diskleri gibi uzak Azure depolama alanına kaydedilmez. Daha hızlı yeniden boyutlandırma ve önyükleme süreleri sayesinde daha hızlı küme işlemlerine olanak tanır ve AKS aracı düğümlerinin işletim sistemi diskinde daha düşük okuma/yazma gecikme süresi sağlar. Kısa ömürlü işletim sistemi diskleri durum bilgisi olmayan iş yükleri için iyi çalışır; burada uygulamalar tek tek VM hatalarına dayanıklıdır, ancak VM dağıtım süresine veya tek tek VM yeniden oluşturma örneklerine dayanıklı değildir. Yalnızca belirli VM SKU'ları kısa ömürlü işletim sistemi disklerini desteklediği için istediğiniz SKU oluşturma ve boyutunun uyumlu olduğundan emin olmanız gerekir. Daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) kısa ömürlü işletim sistemi diskleri.
İş yükünüz kısa ömürlü işletim sistemi disklerini kullanamıyorsa AKS varsayılan olarak Premium SSD işletim sistemi disklerini kullanır. Premium SSD işletim sistemi diskleri iş yükünüzle uyumlu değilse AKS varsayılan olarak Standart SSD diskleri olur. Şu anda tek kullanılabilir işletim sistemi disk türü Standart HDD'dir. Daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) depolama seçenekleri.
Aşağıdaki tablo AKS'de desteklenen işletim sistemi diskleri için önerilen kullanım örneklerinin dökümünü sağlar:
İşletim sistemi disk türü | Önemli özellikler | Önerilen kullanım örnekleri |
---|---|---|
Kısa ömürlü işletim sistemi diskleri | • Daha hızlı yeniden oluşturma ve önyükleme süreleri. • AKS aracı düğümlerinin işletim sistemi diskinde daha düşük okuma/yazma gecikme süresi. • Yüksek performans ve kullanılabilirlik. |
• SQL Server, Oracle, Dynamics, Exchange Server, MySQL, Cassandra, MongoDB, SAP Business Suite gibi zorlu kurumsal iş yükleri. • Yüksek kullanılabilirlik ve düşük gecikme süresi gerektiren durum bilgisi olmayan üretim iş yükleri. |
Premium SSD işletim sistemi diskleri | • Tutarlı performans ve düşük gecikme süresi. • Yüksek kullanılabilirlik. |
• SQL Server, Oracle, Dynamics, Exchange Server, MySQL, Cassandra, MongoDB, SAP Business Suite gibi zorlu kurumsal iş yükleri. • Giriş/çıkış (GÇ) yoğunluklu kurumsal iş yükleri. |
Standart SSD işletim sistemi diskleri | • Tutarlı performans. • Standart HDD disklere kıyasla daha iyi kullanılabilirlik ve gecikme süresi. |
• Web sunucuları. • Saniye başına düşük giriş/çıkış işlemleri (IOPS) uygulama sunucuları. • Az kullanılan kurumsal uygulamalar. • geliştirme/test iş yükleri. |
Standart HDD diskler | • Düşük maliyetli. • Performans ve gecikme süresinde değişkenlik sergiler. |
• Yedekleme depolama alanı. • Seyrek erişimli yığın depolama. |
IOPS ve aktarım hızı
Saniye başına giriş/çıkış işlemleri (IOPS), diskin saniye içinde gerçekleştirebileceği okuma ve yazma işlemlerinin sayısını ifade eder. Aktarım hızı, belirli bir zaman aralığında aktarılabilir veri miktarını ifade eder.
İşletim sistemi diskleri işletim sistemini ve ilişkili dosyalarını depolamakla, VM'ler ise uygulamaları çalıştırmakla sorumludur. Vm seçerken işletim sistemi diskinin ve VM SKU'sunun boyutunun ve performansının büyük bir tutarsızlığı olmadığından emin olun. Boyut veya performanstaki bir tutarsızlık, performans sorunlarına ve kaynak çekişmesine neden olabilir. Örneğin, işletim sistemi diski VM'lerden önemli ölçüde küçükse, uygulama verileri için kullanılabilir alan miktarını sınırlayabilir ve sistemin disk alanının dolmasına neden olabilir. İşletim sistemi diski VM'lerden daha düşük performansa sahipse performans sorununa neden olabilir ve sistemin genel performansını sınırlayabilir. Kubernetes'te en iyi performansı elde etmek için boyut ve performansın dengelenmiş olduğundan emin olun.
Azure portalında işletim sistemi disklerindeki IOPS ve bant genişliği ölçümlerini izlemek için aşağıdaki adımları kullanabilirsiniz:
- Azure portalına gidin.
- Sanal makine ölçek kümelerini arayın ve sanal makine ölçek kümenizi seçin.
- İzleme seçeneğinin altından Ölçümler’i seçin.
Kısa ömürlü işletim sistemi diskleri uygulamanız için dinamik IOPS ve aktarım hızı sağlayabilirken, yönetilen diskler eşlenmiş IOPS ve aktarım hızına sahiptir. Daha fazla bilgi için bkz . Azure VM'leri için kısa ömürlü işletim sistemi diskleri.
Azure Premium SSD v2 , milisaniyenin altında disk gecikme süresi ve düşük maliyetle yüksek IOPS ve aktarım hızı gerektiren GÇ yoğunluklu kurumsal iş yükleri için tasarlanmıştır. SQL server, Oracle, MariaDB, SAP, Cassandra, MongoDB, büyük veri/analiz, oyun ve daha fazlası gibi çok çeşitli iş yükleri için uygundur. Bu disk türü, şu anda kalıcı birimler için kullanılabilen en yüksek performanslı seçenektir.
Pod zamanlama
Vm'ye ayrılan bellek ve CPU kaynaklarının, VM üzerinde çalışan podların performansı üzerinde doğrudan etkisi vardır. Bir pod oluşturulduğunda, uygulamayı çalıştırmak için kullanılan belirli miktarda bellek ve CPU kaynağı atanır. VM'de yeterli bellek veya CPU kaynağı yoksa podların yavaşlamasına ve hatta kilitlenmesine neden olabilir. VM'de çok fazla bellek veya CPU kaynağı varsa podların verimsiz çalışmasına, kaynakları boşa harcamasına ve maliyetleri artırmasına neden olabilir. Tahmin edilebilirliği ve performansı en iyi zamanlamak için iş yüklerinizdeki toplam pod isteklerini toplam allocatable kaynaklarına göre izlemenizi öneririz. Kullanarak kapasite planlamanıza göre düğüm başına en fazla pod sayısını da ayarlayabilirsiniz --max-pods
.
Azure Kubernetes Service