Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede AKS kümeleri için farklı yükseltme seçenekleri yer alır. Temel bir Kubernetes sürüm yükseltmesi gerçekleştirmek için bkz . AKS kümesini yükseltme.
Birden çok düğüm havuzu veya Windows Server düğümü kullanan AKS kümeleri için bkz . AKS'de düğüm havuzunu yükseltme. Kubernetes küme yükseltmesi yapmadan belirli bir düğüm havuzunu yükseltmek için Belirli bir düğüm havuzunu yükseltme'ye bakın.
El ile yükseltmeler gerçekleştirme
Kümenizin yeni bir Kubernetes sürümüne ne zaman yükseltebileceğini denetlemek için el ile yükseltmeler gerçekleştirebilirsiniz. El ile yükseltmeler, üretim kümenizi yükseltmeden önce yeni bir Kubernetes sürümünü test etmek istediğinizde kullanışlıdır. Ayrıca, kümenizi kullanılabilir en son sürüm olmayan belirli bir Kubernetes sürümüne yükseltmek için el ile yükseltmeleri de kullanabilirsiniz.
El ile yükseltme gerçekleştirmek için aşağıdaki makalelere bakın:
- AKS kümesini yükseltme
- Düğüm görüntüsünü yükseltme
- Düğüm artış güncellemeyi özelleştir
- İşlem düğümü işletim sistemi güncelleştirmeleri
- Azure Kubernetes Fleet Manager aracılığıyla birden çok AKS kümesini yükseltme
Otomatik yükseltmeleri yapılandırma
Kümenizi otomatik olarak kullanılabilir en son Kubernetes sürümüne yükseltmek için otomatik yükseltmeleri yapılandırabilirsiniz. Otomatik yükseltmeler, kümenizin her zaman en son Kubernetes sürümünü çalıştırdığından emin olmak istediğinizde kullanışlıdır. Kümenizin her zaman desteklenen bir Kubernetes sürümünü çalıştırdığından emin olmak için otomatik yükseltmeleri de kullanabilirsiniz.
Otomatik yükseltmeleri yapılandırmak için aşağıdaki makalelere bakın:
- AKS kümesini otomatik olarak yükseltme
- AKS kümeniz için yükseltmeleri zamanlamak ve denetlemek için Planlı Bakım'ı kullanma
- API hataya neden olan değişikliklerde AKS kümesi yükseltmelerini otomatik olarak durdurma (Önizleme)
- AKS kümesi düğümü işletim sistemi görüntülerini otomatik olarak yükseltme
- GitHub Actions'ı kullanarak AKS düğümlerine güvenlik güncelleştirmelerini otomatik olarak uygulama
Birden çok kullanılabilirlik alanına yayılan düğüm havuzları için dikkat edilmesi gereken özel noktalar
AKS, düğüm gruplarında en iyi efor bölgesi dengelemesini kullanır. Yükseltme dalgalanması sırasında, Sanal Makine Ölçek Kümeleri'daki aşırı gerilim düğümlerinin bölgeleri önceden bilinmez ve bu da yükseltme sırasında geçici olarak dengesiz bir bölge yapılandırmasına neden olabilir. Ancak, yükseltme tamamlandıktan sonra AKS, orijinal bölge dengesini koruyarak artış düğümlerini siler. Yükseltmeler sırasında bölgelerinizin dengeli kalmasını istiyorsanız, artışı üç düğümün katı olacak şekilde artırabilirsiniz ve Sanal Makine Ölçek Kümeleri, elinizden gelen en iyi çaba ile düğümlerinizi kullanılabilirlik alanları arasında dengeler. Dengeyi koruyarak ölçeklemeye çalışan en iyi çaba bölgesi dengesinde, ölçek kümesi içe ve dışa doğru ölçeklemeye çalışır. Ancak, bir nedenden dolayı bu mümkün değilse (örneğin, bir bölge kapanırsa ve ölçek kümesi o bölgede yeni bir VM oluşturamazsa), ölçek kümesi, başarıyla ölçeği büyütmek veya küçültmek için geçici dengesizliğe izin verir.
Azure yerel olarak yedekli depolama (LRS) Diskleri tarafından yedeklenen kalıcı birim talepleri (PVC) belirli bir bölgeye bağlıdır ve aşırı gerilim düğümü PVC'nin bölgesiyle eşleşmiyorsa hemen kurtarılamaz. Bölgeler eşleşmiyorsa ve yükseltme işlemi düğümleri boşaltmaya devam ederken PV'ler bir bölgeye bağlı kalırsa, bu durum uygulamanızda kapalı kalma süresine yol açabilir. Bu durumu işlemek ve yüksek kullanılabilirliği korumak için uygulamanızda Bir Pod Kesintisi Bütçesi yapılandırarak Kubernetes'in boşaltma işlemi sırasında kullanılabilirlik gereksinimlerinize uymasını sağlayın.
Tahliye edilemez düğüm davranışı için iyileştirme
Drenaj hataları için yükseltme işlemi davranışını yapılandırabilirsiniz. Varsayılan yükseltme davranışı, Schedule
, yükseltme işleminin başarısız olmasına neden olan bir düğüm boşaltma hatasından oluşur ve bu da boşaltılmamış düğümleri zamanlanabilir durumda bırakır. Alternatif olarak, boşaltılamayan düğümleri karantinaya alınmış duruma getirip, onları Cordon
ve kubernetes.azure.com/upgrade-status:Quarantined
etiketleriyle işaretleyen ve kalan düğümleri yükseltmeye devam eden davranışı seçebilirsiniz. Bu davranış, tüm düğümlerin yükseltilmesini veya karantinaya alınmasını sağlar. Bu yaklaşım, boşaltma hatalarını gidermenize ve karantinaya alınan düğümleri düzgün bir şekilde yönetmenize olanak tanır.
Yeni kordon davranışını ayarlama
Yeni kordon davranışını ayarlamak için 2.74 veya sonraki bir sürümü kullanmanız Azure CLI
gerekir.
[
Cordon
][az-aks-nodepool-update] komutunu kullanarak düğüm havuzunun boşaltılamayan düğüm davranışınıaz aks nodepool update
güncelleyin.az aks nodepool update --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --resource-group $RESOURCE_GROUP --max-surge 1 --undrainable-node-behavior Cordon
Aşağıdaki örnek çıktı, güncellenmiş boşaltılamaz düğüm davranışını gösterir.
"upgradeSettings": { "drainTimeoutInMinutes": null, "maxSurge": "1", "nodeSoakDurationInMinutes": null, "undrainableNodeBehavior": "Cordon" }
Engellenen düğümlerde etiketi, yükseltmede boşaltma düğümü hatası olduğunda
kubectl get
komutunu kullanarak doğrulayın.kubectl get nodes --show-labels=true
Engellenmiş düğümler podlar için zamanlanmamıştır ve
"kubernetes.azure.com/upgrade-status: Quarantined"
etiketiyle işaretlenmiştir. Engellenmiş olarak bırakılabilecek düğüm sayısı, üst sınır değeri olanMax-Surge
'den fazla olamaz.
Çözülemeyen düğümleri giderme
Önce drenaja neden olan temel sorunu çözün. Aşağıdaki örnek sorumlu PDB'yi kaldırır:
kubectl delete pdb nginx-pdb poddisruptionbudget.policy "nginx-pdb" deleted.
Sorunun artık çözüldüğünden eminseniz,
"kubernetes.azure.com/upgrade-status: Quarantined"
komutunu kullanarak boşaltılamayan düğümlere yerleştirilenkubectl label
etiketini kaldırabilirsiniz.kubectl label nodes <node-name> <label-key>-
Herhangi bir sonraki
PUT
işlemi, önceFailed Provisioning Status
üzerindeSuccess
ile uzlaştırmayı deneyecektir. Karantinaya alınan düğümler, ileride yapılan yerleştirme veya uzlaşma işlemleri için dikkate alınmayacak. Engellenen düğümlerin dikkate alınabilmesi için, daha önce belirtildiği gibi etiketleri açıkça kaldırmanız gerekir.Engellenen düğümü [
az aks nodepool delete-machines
][az-aks-nodepool-delete-machines] komutunu kullanarak da silebilirsiniz. Bu komut, eski sürümlerde geride bırakılan düğümleri kaldırarak düğüm havuzu ayak izini azaltmayı amaçlıyorsanız kullanışlıdır.az aks nodepool delete-machines --cluster-name $CLUSTER_NAME --machine-names aks-$NODE_POOL_NAME-test123-vmss000000 --name $NODE_POOL_NAME --resource-group $RESOURCE_GROUP
Bu adımı tamamladıktan sonra, burada özetlenen isteğe bağlı alanlar olmadan herhangi bir güncelleştirme işlemi gerçekleştirerek küme durumunu mutabık kılabilirsiniz. Alternatif olarak, düğüm havuzunu yükseltilen düğüm sayısıyla aynı sayıda düğüme ölçeklendirebilirsiniz. Bu eylem, düğüm havuzunun hedeflenen özgün boyutuna ulaştığından emin olur. AKS, engellenen düğümlerin kaldırılmasına öncelik sağlar. Bu komut, küme provisioning durumunu da
Succeeded
olarak geri yükler. Verilen örnekte,2
yükseltilen düğümlerin toplam sayısıdır.# Update the cluster to restore the provisioning status az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME # Scale the node pool to restore the original size az aks nodepool scale --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --node-count 2
Performansı geliştirmek ve kesintileri en aza indirmek için yükseltmeleri iyileştirme
Planlı Bakım Penceresi, Maksimum Dalgalanma, Pod Kesinti Bütçesi, düğüm boşaltma zaman aşımı ve düğüm bekletme süresi birleşimi, bakım penceresinin sonunda düğüm yükseltmelerinin başarıyla tamamlanma olasılığını önemli ölçüde artırırken kesintileri de en aza indirir.
- Planlı Bakım Penceresi , hizmet ekiplerinin iş yükü etkisini en aza indirmek için önceden tanımlanmış bir pencere (genellikle düşük trafikli bir dönem) sırasında otomatik yükseltme zamanlamasını sağlar. En az dört saatlik bir pencere süresi öneririz.
- Düğüm havuzundaki Maksimum Artış, yükseltme işlemi sırasında ek kota istemeye olanak tanır ve aynı anda yükseltme için seçilen düğüm sayısını sınırlar. Daha yüksek bir maksimum artış, daha hızlı bir yükseltme işlemiyle sonuçlanır. Tüm düğümleri aynı anda yükselterek çalışan uygulamalarda kesintilere neden olabileceği için %100 olarak ayarlanması önerilmez. Üretim düğümü havuzları için maksimum %33 artış kotası öneririz.
- Düğüm havuzunda En Fazla Kullanılamayan, yükseltmelerin mevcut düğümleri kordonlayarak ve herhangi bir aşırı gerilim düğümü eklemeden boşaltılarak gerçekleştirilmesini sağlar. Maksimum kullanılmaz durumda olma süresi daha hızlı bir yükseltme işlemi sağlar, ancak düğüm havuzu için daha fazla iş yükü kesintisine yol açar. Bu özellik, bölgede fazladan SKU kapasitesi olmaması veya kota sorunları nedeniyle kapasite kısıtlamalarıyla karşılaşan müşteriler için önerilir.
-
Pod Kesintisi Bütçesi , hizmet uygulamaları için ayarlanır ve AKS denetimli düğüm yükseltmeleri gibi gönüllü kesintiler sırasında kapanabilecek pod sayısını sınırlar. Uygulama için yüksek kullanılabilirlik sağlamak üzere, etkin olması gereken uygulama podlarının en az sayısını belirten
minAvailable
çoğaltma veya sonlandırılabilen uygulama podlarının maksimum sayısını gösterenmaxUnavailable
çoğaltma olarak yapılandırılabilir. Pod Kesintisi Bütçelerini (PDB) yapılandırmak için sağlanan kılavuza bakın. PdB değerleri, hizmetiniz için en uygun ayarları belirlemek üzere doğrulanmalıdır. - Düğüm havuzundaki düğüm boşaltma zaman aşımı, bir yükseltme sırasında düğüm başına podların tahliyesi ve nazik sonlandırma için bekleme süresini yapılandırmanıza olanak tanır. Bu seçenek, uzun süre çalışan iş yükleriyle ilgilenirken kullanışlıdır. Düğüm boşaltma zaman aşımı belirtildiğinde (dakika cinsinden), AKS pod kesintisi bütçelerini beklemeye dikkat eder. Belirtilmezse, varsayılan zaman aşımı 30 dakikadır.
- Düğüm bekletme süresi, düğüm yükseltmelerinin kontrollü bir şekilde kademelendirilmesine yardımcı olur ve yükseltme sırasında uygulamanın kapalı kalma süresini en aza indirebilir. Düğüm yükseltmeleri arasındaki uygulama hazırlığını denetlemek için tercihen 0 dakikaya yakın bir bekleme süresi belirtebilirsiniz. Belirtilmezse, varsayılan değer 0 dakikadır. Yükseltme hızı ve uygulama kullanılabilirliği açısından doğru sonuçları sağlamak için düğüm bekletme süresi, düğüm havuzundaki maksimum ani artış ve düğüm boşaltma zaman aşımı özellikleriyle birlikte çalışır.
Yükseltme ayarları | Artış için kullanılabilir kaynaklar | Beklenen davranış |
---|---|---|
maxSurge
=
5
maxUnavailable
=
0
|
5 düğüm artış için kullanılabilir | Düğüm havuzunu yükseltmek için 5 düğüm artırılacak. |
maxSurge
=
5
maxUnavailable
=
0
|
0-4 düğüm artış için kullanılabilir | Yükseltme işlemi, maxSurge karşılayacak yeterli düğüm olmadığından başarısız oluyor. |
maxSurge
=
0
maxUnavailable
=
5
|
Yok çünkü hiçbir aşırı gerilim düğümü gerekli değildir | İşlem, düğüm havuzunu yükseltirken yeni düğümlere ihtiyaç duymadan mevcut düğüm havuzundan 5 düğüm kullanır. |
Bugün yükseltme işleminde kullanılan doğrulamalar
API, Azure CLI veya Azure portalı aracılığıyla bir yükseltme işlemi başlattığınızda, Azure Kubernetes Service (AKS) yükseltmeyi başlatmadan önce bir dizi yükseltme öncesi doğrulama gerçekleştirir. Bu doğrulamalar kümenin iyi durumda olmasını ve başarıyla yükseltilmesini sağlar.
- API'de Hataya Neden Olan Değişiklikler: Kullanımda olan ve iş yüklerini etkileyebilecek kullanım dışı API'ler olup olmadığını tanımlar.
- Kubernetes Yükseltme Sürümü: Hedef sürümün geçerli olduğundan emin olur (örneğin, üç küçük sürümden büyük atlamalar olmaz, düşürme yoktur ve denetim düzlemiyle uyumluluk yoktur).
-
Yanlış PDB Yapılandırma Doğrulaması: Hiçbir düğümün kesintiye uğramasına izin vermeyen gibi
maxUnavailable = 0
yanlış yapılandırılmış Pod Kesinti Bütçelerini (PDB) denetler. - Kota: Yükseltme işlemi sırasında gerekli olan artan düğümler için yeterli kotanın mevcut olduğunu onaylar.
- Alt ağ: Yükseltme için yeterli atanabilir IP adresi olup olmadığını veya alt ağ boyutu ayarlamalarının gerekli olup olmadığını doğrular.
- Sertifikalar/Hizmet Sorumluları: Yükseltme işlemini etkileyebilecek süresi dolan sertifikaları veya hizmet sorumlularını algılar.
Bu denetimler yükseltme hatalarını en aza indirmeye yardımcı olur ve kullanıcılara devam etmeden önce çözülmesi gereken olası sorunlar hakkında erken görünürlük sağlar.
Sonraki adımlar
Bu makalede AKS kümeleri için farklı yükseltme seçenekleri listelenmiştir. Yükseltme en iyi yöntemleri ve diğer önemli noktalar hakkında ayrıntılı bilgi için bkz . AKS düzeltme eki ve yükseltme kılavuzu.
Azure Kubernetes Service