Azure Kubernetes Service kümeniz için yükseltmeleri zamanlamak ve denetlemek için planlı bakımı kullanma
Bu makalede, Azure Kubernetes Service'te (AKS) küme ve düğüm görüntüsü yükseltmelerini zamanlamak ve denetlemek için planlı bakımın nasıl kullanılacağı gösterilmektedir.
AKS kümenizde düzenli bakım otomatik olarak gerçekleştirilir. İki tür bakım işlemi vardır:
- AKS tarafından başlatılan bakım , AKS'nin kümenizi en son özellikler ve düzeltmelerle güncel tutmak için gerçekleştirdiği haftalık sürümleri içerir.
- Kullanıcı tarafından başlatılan bakım, küme otomatik yükseltmelerini ve düğüm işletim sistemi (OS) otomatik güvenlik güncelleştirmelerini içerir.
AKS'de planlı bakım özelliğini kullandığınızda, iş yükü etkisini en aza indirmek için her iki bakım türünü de istediğiniz bir tempoda çalıştırabilirsiniz. Otomatik yükseltmelerin zamanlamasını zamanlamak için planlı bakımı kullanabilirsiniz, ancak planlı bakımı etkinleştirmek veya devre dışı bırakmak otomatik yükseltmeleri etkinleştirmez veya devre dışı bırakmaz.
Başlamadan önce
- Bu makalede, mevcut bir AKS kümeniz olduğu varsayılır. AKS kümeniz yoksa bkz . AKS kümesi oluşturma.
- Azure CLI kullanıyorsanız komutunu kullanarak en son sürüme yükseltin
az upgrade
.
Dikkat edilmesi gereken noktalar
Planlı bakımı kullandığınızda aşağıdaki noktalar geçerlidir:
- AKS, acil veya kritik plansız, reaktif bakım işlemleri için planlı bakım pencerelerini kesme hakkını saklıdır. Bu bakım işlemleri, yapılandırmanızda tanımlanan veya
notAllowedDates
dönemleri sırasındanotAllowedTime
bile çalıştırılabilir. - Bakım işlemleri yalnızca en iyi çaba olarak kabul edilir ve belirtilen bir pencerede gerçekleşmesi garanti edilmez.
Planlı bakım için yapılandırma türlerini zamanlama
Planlı bakım için üç zamanlama yapılandırma türü mevcuttur:
default
AKS sürümlerini denetlemeye yönelik temel bir yapılandırmadır. Azure güvenli dağıtım uygulamaları nedeniyle yayınların ilk gönderim zamanından itibaren tüm bölgelere dağıtılmasının iki hafta kadar sürmesi gerekir.Bu güncelleştirmeleri sizin için en az kesintiye neden olacak şekilde zamanlamayı seçin
default
. Haftalık yayın izleyicisi ile bölgeye göre devam eden bir AKS sürümünün durumunu izleyebilirsiniz.aksManagedAutoUpgradeSchedule
, belirlenen otomatik yükseltme kanalınız tarafından zamanlanan küme yükseltmelerini ne zaman gerçekleştirebileceğinizi denetler. Yapılandırmaya kıyasladefault
bu yapılandırmayla daha ayrıntılı denetimli tempo ve yinelenme ayarları yapılandırabilirsiniz. Küme otomatik yükseltmesi hakkında daha fazla bilgi için bkz . Azure Kubernetes Service kümesini otomatik olarak yükseltme.aksManagedNodeOSUpgradeSchedule
, düğüm işletim sistemi otomatik yükseltme kanalınız tarafından zamanlanan düğüm işletim sistemi güvenlik düzeltme eki uygulama zamanlarını denetler. Yapılandırmaya kıyasladefault
bu yapılandırmayla daha ayrıntılı denetimli tempo ve yinelenme ayarları yapılandırabilirsiniz. Düğüm işletim sistemi otomatik yükseltme kanalları hakkında daha fazla bilgi için bkz . AKS kümesi düğüm görüntülerini otomatik olarak düzeltme eki uygulama ve güncelleştirme.
Tüm küme yükseltme senaryoları ve aksManagedNodeOSUpgradeSchedule
tüm düğüm işletim sistemi güvenlik düzeltme eki uygulama senaryoları için kullanılmasını aksManagedAutoUpgradeSchedule
öneririz.
Bu default
seçenek yalnızca AKS haftalık sürümlerine yöneliktir. komutunu kullanarak yapılandırmayı aksManagedAutoUpgradeSchedule
veya aksManagedNodeOSUpgradeSchedule
yapılandırmasına az aks maintenanceconfiguration update
geçirebilirsinizdefault
.
Bakım penceresi oluşturma
Not
Otomatik yükseltmeyi kullanırken doğru işlevselliği sağlamak için dört saat veya daha uzun bir süreye sahip bir bakım penceresi kullanın.
Planlı bakım pencereleri Eşgüdümlü Evrensel Saat (UTC) olarak belirtilir.
Bakım default
penceresi aşağıdaki eski özelliklere sahiptir (artık önerilmez):
Veri Akışı Adı | Veri Akışı Açıklaması | Default value |
---|---|---|
timeInWeek |
Bir default yapılandırmada, bu özellik bir bakım penceresi tanımlayan ve hourSlots değerlerini içerirday . |
Uygulanamaz |
timeInWeek.day |
Bir yapılandırmada default bakım yapmak için haftanın günü. |
Uygulanamaz |
timeInWeek.hourSlots |
Yapılandırmada belirli bir günde default bakım yapmak için saat uzunluğundaki zaman aralıklarının listesi. |
Uygulanamaz |
notAllowedTime |
Bakımın çalıştırılamıyabileceği, ve end alt özellikleri tarafından start belirlenen tarih aralığı. Bu özellik yalnızca bir yapılandırma dosyası kullanarak bakım penceresi oluştururken geçerlidir. |
Uygulanamaz |
Not
2023-05-01 API sürümünden itibaren lütfen yapılandırma için default
aşağıdaki özellikleri kullanın.
2023-05-01 API sürümünden sonraki bir aksManagedAutoUpgradeSchedule
veya aksManagedNodeOSUpgradeSchedule
bakım penceresi ve default
yapılandırması aşağıdaki özelliklere sahiptir:
Veri Akışı Adı | Veri Akışı Açıklaması | Default value |
---|---|---|
utcOffset |
Küme bakımı için saat dilimi. | +00:00 |
startDate |
Bakım penceresinin geçerlilik almaya başladığı tarih. | Oluşturma zamanındaki geçerli tarih |
startTime |
tarafından utcOffset belirlenen saat dilimine göre bakımın başlama zamanı. |
Uygulanamaz |
schedule |
Yükseltme sıklığı. Üç tür kullanılabilir: Weekly , AbsoluteMonthly ve RelativeMonthly . |
Uygulanamaz |
intervalDays |
Bakım çalıştırmaları için gün cinsinden aralık. Yalnızca için aksManagedNodeOSUpgradeSchedule geçerlidir. |
Uygulanamaz |
intervalWeeks |
Bakım çalıştırmaları için hafta cinsinden aralık. | Uygulanamaz |
intervalMonths |
Bakım çalıştırmaları için ay cinsinden aralık. | Uygulanamaz |
dayOfWeek |
Bakımın başlaması için belirtilen haftanın günü. | Uygulanamaz |
durationHours |
Bakımın çalıştırılması için pencerenin süresi. | Uygulanamaz |
notAllowedDates |
Bakımın çalıştırılamıyabileceği, ve end alt özellikleri tarafından start belirlenen tarih aralığı. Bu yalnızca bir yapılandırma dosyası kullanarak bakım penceresi oluştururken geçerlidir. |
Uygulanamaz |
Zamanlama türleri
Kullanılabilir dört zamanlama türü vardır: Daily
, Weekly
, AbsoluteMonthly
ve RelativeMonthly
.
Weekly
, AbsoluteMonthly
ve RelativeMonthly
zamanlama türleri yalnızca ve aksManagedNodeOSUpgradeSchedule
yapılandırmaları için aksManagedClusterAutoUpgradeSchedule
geçerlidir. Daily
zamanlamaları yalnızca yapılandırmalar için aksManagedNodeOSUpgradeSchedule
geçerlidir.
Her zamanlama türü için gösterilen tüm alanlar gereklidir.
Zamanlama Daily
"her üç günde bir" gibi görünebilir:
"schedule": {
"daily": {
"intervalDays": 3
}
}
Zamanlama Weekly
"Cuma günü iki haftada bir" gibi görünebilir:
"schedule": {
"weekly": {
"intervalWeeks": 2,
"dayOfWeek": "Friday"
}
}
Zamanlama AbsoluteMonthly
"ayın ilk gününde üç ayda bir" gibi görünebilir:
"schedule": {
"absoluteMonthly": {
"intervalMonths": 3,
"dayOfMonth": 1
}
}
Zamanlama RelativeMonthly
"son Pazartesi günü iki ayda bir" gibi görünebilir:
"schedule": {
"relativeMonthly": {
"intervalMonths": 2,
"dayOfWeek": "Monday",
"weekIndex": "Last"
}
}
için weekIndex
geçerli değerler : First
, Second
, Third
, Fourth
ve Last
.
Bakım penceresi yapılandırması ekleme
komutunu kullanarak az aks maintenanceconfiguration add
AKS kümesine bakım penceresi yapılandırması ekleyin.
İlk örnek, bakımı her Pazartesi 01:00 ile 02:00 arasında çalışacak şekilde zamanlayan yeni default
bir yapılandırma ekler. İkinci örnek, saat diliminde 12:00 ile 08:UTC+5:30
00 arasında üçüncü Cuma günü çalışacak şekilde bakım zamanlayan yeni aksManagedAutoUpgradeSchedule
bir yapılandırma ekler.
# Add a new default configuration
az aks maintenanceconfiguration add --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 1
# Add a new aksManagedAutoUpgradeSchedule configuration
az aks maintenanceconfiguration add --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
Not
Yapılandırma default
türü kullanırken, bir gün içinde istediğiniz zaman bakım yapmak için parametresini atlayabilirsiniz --start-time
.
Mevcut bakım penceresini güncelleştirme
komutunu kullanarak mevcut bakım yapılandırmasını güncelleştirin az aks maintenanceconfiguration update
.
Aşağıdaki örnek, her Pazartesi 02:00 ile 03:00 arasında çalışacak şekilde yapılandırmayı güncelleştirir default
:
az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2
Mevcut kümedeki tüm bakım pencerelerini listeleme
KOMUTUNU kullanarak AKS kümenizdeki geçerli bakım yapılandırma pencerelerini listeleyin az aks maintenanceconfiguration list
:
az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster
Var olan bir kümede belirli bir bakım yapılandırma penceresini gösterme
parametresiyle --name
komutunu kullanarak az aks maintenanceconfiguration show
AKS kümenizdeki belirli bir bakım yapılandırma penceresini görüntüleyin:
az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule
Aşağıdaki örnek çıktı, için aksManagedAutoUpgradeSchedule
bakım penceresini gösterir:
{
"id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedAutoUpgradeSchedule",
"maintenanceWindow": {
"durationHours": 4,
"notAllowedDates": [
{
"end": "2024-01-05",
"start": "2023-12-23"
}
],
"schedule": {
"absoluteMonthly": {
"dayOfMonth": 1,
"intervalMonths": 3
},
"daily": null,
"relativeMonthly": null,
"weekly": null
},
"startDate": "2023-01-20",
"startTime": "09:00",
"utcOffset": "-08:00"
},
"name": "aksManagedAutoUpgradeSchedule",
"notAllowedTime": null,
"resourceGroup": "myResourceGroup",
"systemData": null,
"timeInWeek": null,
"type": null
}
Mevcut kümedeki bakım yapılandırma penceresini silme
komutunu kullanarak az aks maintenanceconfiguration delete
AKS kümenizdeki bir bakım yapılandırma penceresini silin.
Aşağıdaki örnek bakım yapılandırmasını siler autoUpgradeSchedule
:
az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule
SSS
Kümemdeki mevcut bakım yapılandırmalarını nasıl denetleyebilirim?
az aks maintenanceconfiguration show
komutunu kullanın.Reaktif, planlanmamış bakımlar veya
notAllowedDates
dönemlerde de gerçekleşebilirnotAllowedTime
mi?Evet. AKS, acil veya kritik planlanmamış, reaktif bakım işlemleri için bu pencereleri kırma hakkını saklıdır.
Bir bakım olayının olup olmadığını nasıl anlayabilirim?
Sürümler için kümenizin bölgesini denetleyin ve bakım zamanlamanızla eşleşip eşleşmediğini görmek için haftalık sürümlerdeki bilgileri arayın. Otomatik yükseltmelerinizin durumunu görüntülemek için kümenizdeki etkinlik günlüklerini arayın. Aks kümesini yükseltme bölümünde belirtildiği gibi yükseltmeyle ilgili belirli olayları da arayabilirsiniz.
AKS ayrıca yükseltmeyle ilgili Azure Event Grid olaylarını da yayar. Daha fazla bilgi edinmek için bkz . Event Grid kaynağı olarak AKS.
Aynı anda birden fazla bakım yapılandırması kullanabilir miyim?
Evet, üç yapılandırmayı da aynı anda çalıştırabilirsiniz:
default
,aksManagedAutoUpgradeSchedule
veaksManagedNodeOSUpgradeSchedule
. Pencereler çakışıyorsa, AKS çalıştırma sırasına karar verir.Bir bakım penceresi yapılandırdım, ancak yükseltme gerçekleşmedi. Neden?
BAKıM penceresinin dikkate alınması için AKS otomatik yükseltmesinin belirli bir süreye (genellikle 15 dakikadan fazla değil) ihtiyacı vardır. Bakım yapılandırması oluşturma veya güncelleştirme ile zamanlanan başlangıç saati arasında en az 15 dakika önerilir.
Ayrıca, planlı bakım penceresi başlatıldığında kümenizin başlatıldığından emin olun. Küme durdurulursa, denetim düzlemi serbest bırakılır ve hiçbir işlem gerçekleştirilemez.
Aracı havuzlarımdan biri neden bakım penceresinin dışına yükseltildi?
Aracı havuzu yükseltilmiyorsa (örneğin pod kesintisi bütçeleri bunu engellediğinden), daha sonra bakım penceresinin dışında yükseltilebilir. Bu senaryoya "yakalama yükseltmesi" adı verilir. Aracı havuzlarının AKS denetim düzleminden farklı bir sürümle yükseltilmesine izin vermekten kaçınıyor.
Aracı havuzunun beklenmedik bir şekilde yükseltilememesinin bir diğer nedeni de tanımlı bakım yapılandırmasının olmaması veya silinip silinmediğinin ortaya konmuş olmasıdır. Bu durumda, otomatik yükseltmeye sahip ancak bakım yapılandırması olmayan bir küme rastgele zamanlarda (geri dönüş zamanlaması) yükseltilir ve bu istenmeyen bir zaman çerçevesi olabilir.
Bakım yapılandırmaları için en iyi yöntemler var mı?
Kanalı kullanıyorsanız düğüm işletim sistemi güvenlik güncelleştirmeleri zamanlamasını haftalık bir tempoya
NodeImage
ayarlamanızı öneririz çünkü her hafta yeni bir düğüm görüntüsü gönderilir. Ayrıca kanalınSecurityPatch
günlük güvenlik güncelleştirmelerini almasını da seçebilirsiniz.Kubernetes N-2 destek ilkesiyle güncel kalmak için otomatik yükseltme zamanlamasını aylık bir tempoya ayarlayın.
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.
Tek bir abonelikteki tüm kümelerimi aynı bakım yapılandırmasını kullanacak şekilde yapılandırabilir miyim?
Bunu yapmak, küme yükseltmelerinin başarısız olmasına neden olan ARM azaltma hatalarına neden olabileceğinden, tek bir abonelikteki birden çok küme için aynı bakım yapılandırmasını kullanmanızı önermeyiz. Bunun yerine, bu hataları önlemek için her küme için bakım pencerelerini kademelendirmenizi öneririz.
Sonraki adımlar
- AKS kümenizi yükseltmeye başlamak için bkz . AKS kümeleri için yükseltme seçenekleri.
Azure Kubernetes Service