Aracılığıyla paylaş


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'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ında notAllowedTime 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ıyasla default 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ıyasla default 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 utcOffsetbelirlenen saat dilimine göre bakımın başlama zamanı. Uygulanamaz
schedule Yükseltme sıklığı. Üç tür kullanılabilir: Weekly, AbsoluteMonthlyve RelativeMonthly. Uygulanamaz
intervalDays Bakım çalıştırmaları için gün cinsinden aralık. Yalnızca için aksManagedNodeOSUpgradeSchedulegeç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, AbsoluteMonthlyve RelativeMonthly.

Weekly, AbsoluteMonthlyve 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, Fourthve 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:3000 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 aksManagedAutoUpgradeSchedulebakı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şebilir notAllowedTime 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, aksManagedAutoUpgradeScheduleve aksManagedNodeOSUpgradeSchedule. 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ın SecurityPatch 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.