Tervezett karbantartás használata az Azure Kubernetes Service-fürt frissítéseinek ütemezéséhez és szabályozásához

Ez a cikk bemutatja, hogyan ütemezheti és szabályozhatja a fürt- és csomópontrendszerkép-frissítéseket az Azure Kubernetes Service-ben (AKS) tervezett karbantartással.

A rendszer automatikusan elvégzi a rendszeres karbantartást az AKS-fürtön. A karbantartási műveleteknek két típusa van:

Ha a tervezett karbantartás funkcióját használja az AKS-ben, mindkét típusú karbantartást tetszőleges ütemben futtathatja a számítási feladatok hatásának minimalizálása érdekében.

Mielőtt elkezdené

  • Ez a cikk feltételezi, hogy van egy meglévő AKS-fürtje. Ha nincs AKS-fürtje, olvassa el az AKS-fürt létrehozása című témakört.
  • Ha az Azure CLI-t használja, frissítsen a legújabb verzióra a az upgrade parancs használatával.

Megfontolások

Tervezett karbantartás használatakor a következő szempontokat kell figyelembe venni:

  • Az AKS fenntartja a jogot, hogy a tervezett karbantartási időszakokat megszakítsa a nem tervezett, reaktív karbantartási műveletek esetében, amelyek sürgősek vagy kritikusak. Ezek a karbantartási műveletek akár a notAllowedTime konfigurációban meghatározott időszakokban is notAllowedDates futhatnak.
  • A karbantartási műveletek csak a legjobb erőfeszítésnek minősülnek, és nem garantáltan egy adott ablakban történnek.

Konfigurációtípusok ütemezése tervezett karbantartáshoz

A tervezett karbantartáshoz három ütemezési konfigurációtípus érhető el:

  • default az AKS-kiadások szabályozásának alapkonfigurációja. A kiadások akár két hetet is igénybe vehetnek, hogy az Azure biztonságos üzembe helyezési gyakorlata miatt a szállítás kezdeti időpontjától kezdve az összes régióban megjelenjenek.

    Úgy dönt default , hogy ezeket a frissítéseket a legkevésbé zavaró módon ütemezi. A heti kiadáskövetéssel régiónként monitorozhatja egy folyamatban lévő AKS-kiadás állapotát.

  • aksManagedAutoUpgradeSchedule szabályozza, hogy mikor végezze el a kijelölt automatikus frissítési csatorna által ütemezett fürtfrissítéseket. Ezzel a konfigurációval a konfigurációhoz képest default részletesebben szabályozható ütemezési és ismétlődési beállításokat konfigurálhat. További információ a fürt automatikus frissítéséről: Azure Kubernetes Service-fürt automatikus frissítése.

  • aksManagedNodeOSUpgradeSchedule a csomópont operációs rendszer automatikus frissítési csatornája által ütemezett csomópont operációsrendszer-biztonsági javítás végrehajtásának időpontját szabályozza. Ezzel a konfigurációval a konfigurációhoz képest default részletesebben szabályozható ütemezési és ismétlődési beállításokat konfigurálhat. A csomópont operációs rendszerének automatikus frissítési csatornáiról további információt az AKS-fürtcsomópont lemezképeinek automatikus javítása és frissítése című témakörben talál.

Javasoljuk, hogy használja aksManagedAutoUpgradeSchedule az összes fürtfrissítési forgatókönyvet és aksManagedNodeOSUpgradeSchedule a csomópont operációs rendszerének biztonsági javítási forgatókönyveit.

Ez default a lehetőség kizárólag az AKS heti kiadásaihoz használható. A parancs használatával átválthat a defaultaksManagedAutoUpgradeSchedule konfigurációra vagy aksManagedNodeOSUpgradeSchedule a konfigurációra az aks maintenanceconfiguration update .

Karbantartási időszak létrehozása

Feljegyzés

Ha automatikus frissítést használ, a megfelelő működés biztosítása érdekében használjon egy négy órás vagy annál hosszabb időtartamú karbantartási időszakot.

A tervezett karbantartási időszakokat az egyezményes világidő (UTC) határozza meg.

A default karbantartási időszak a következő tulajdonságokkal rendelkezik:

Név Leírás Alapértelmezett érték
timeInWeek default Egy konfigurációban ez a tulajdonság tartalmazza a day karbantartási időszakot meghatározó értékeket és hourSlots értékeket. Nem alkalmazható
timeInWeek.day A hét azon napja, amikor karbantartást végez egy default konfigurációban. Nem alkalmazható
timeInWeek.hourSlots A konfiguráció egy adott napján default végzett karbantartáshoz szükséges óránkénti idősávok listája. Nem alkalmazható
notAllowedTime A karbantartás nem futtatható dátumtartomány, amelyet startend a gyermektulajdonságok határoznak meg. Ez a tulajdonság csak akkor alkalmazható, ha konfigurációs fájl használatával hozza létre a karbantartási időszakot. Nem alkalmazható

Egy aksManagedAutoUpgradeSchedule vagy aksManagedNodeOSUpgradeSchedule több karbantartási időszak a következő tulajdonságokkal rendelkezik:

Név Leírás Alapértelmezett érték
utcOffset A fürtkarbantartás időzónája. +00:00
startDate A karbantartási időszak érvénybe lépésének dátuma. Az aktuális dátum a létrehozáskor
startTime A karbantartás megkezdésének ideje, a megadott időzóna utcOffsetalapján. Nem alkalmazható
schedule A frissítés gyakorisága. Három típus érhető el: Weekly, AbsoluteMonthlyés RelativeMonthly. Nem alkalmazható
intervalDays A karbantartási időszakok napjainak intervalluma. Ez csak a aksManagedNodeOSUpgradeSchedule. Nem alkalmazható
intervalWeeks A karbantartási időszakok hetekben megadott időköze. Nem alkalmazható
intervalMonths A karbantartási időszakok hónapokban megadott intervalluma. Nem alkalmazható
dayOfWeek A hét megadott napja a karbantartás megkezdéséhez. Nem alkalmazható
durationHours A karbantartás futtatására szolgáló időszak időtartama. Nem alkalmazható
notAllowedDates A karbantartás nem futtatható dátumtartomány, amelyet startend a gyermektulajdonságok határoznak meg. Ez csak akkor alkalmazható, ha konfigurációs fájl használatával hozza létre a karbantartási időszakot. Nem alkalmazható

Ütemezési típusok

Négy elérhető ütemezéstípus érhető el: Daily, Weekly, AbsoluteMonthlyés RelativeMonthly.

Weekly, AbsoluteMonthlyés RelativeMonthly az ütemezési típusok csak a konfigurációkra aksManagedClusterAutoUpgradeScheduleaksManagedNodeOSUpgradeSchedule vonatkoznak. Daily az ütemezések csak a konfigurációkra aksManagedNodeOSUpgradeSchedule vonatkoznak.

Az egyes ütemezési típusokhoz megjelenített összes mezőre szükség van.

Az Daily ütemezés úgy tűnhet, mint "három naponta":

"schedule": {
    "daily": {
        "intervalDays": 3
    }
}

Az Weekly ütemezés úgy tűnhet, mint "kéthetente pénteken":

"schedule": {
    "weekly": {
        "intervalWeeks": 2,
        "dayOfWeek": "Friday"
    }
}

Az AbsoluteMonthly ütemezés úgy tűnhet, mint "a hónap első napján háromhavonta":

"schedule": {
    "absoluteMonthly": {
        "intervalMonths": 3,
        "dayOfMonth": 1
    }
}

Az RelativeMonthly ütemezés "kéthavonta, az elmúlt hétfőn":

"schedule": {
    "relativeMonthly": {
        "intervalMonths": 2,
        "dayOfWeek": "Monday",
        "weekIndex": "Last"
    }
}

Érvényes értékek a belefoglaláshoz weekIndexFirst, Second, Third, Fourthés Last.

Karbantartási időszak konfigurációjának hozzáadása

Adjon hozzá egy karbantartási időszak konfigurációját egy AKS-fürthöz a az aks maintenanceconfiguration add parancs használatával.

Az első példa egy új default konfigurációt ad hozzá, amely minden hétfőn 1:00 és 2:00 óra között ütemezi a karbantartást. A második példa egy új aksManagedAutoUpgradeSchedule konfigurációt ad hozzá, amely úgy ütemezi a karbantartást, hogy minden harmadik pénteken 12:00 és 8:00 között fusson az UTC+5:30 időzónában.

# 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

Feljegyzés

Konfigurációs típus használatakor default kihagyhatja a paramétert, hogy egy nap során bármikor lehetővé tegye a --start-time karbantartást.

Meglévő karbantartási időszak frissítése

Frissítsen egy meglévő karbantartási konfigurációt a az aks maintenanceconfiguration update parancs használatával.

Az alábbi példa frissíti a konfigurációt úgy default , hogy a karbantartást minden hétfőn 2:00 és 15:00 óra között ütemezze:

az aks maintenanceconfiguration update --resource-group myResourceGroup --cluster-name myAKSCluster --name default --weekday Monday --start-hour 2

Meglévő fürt összes karbantartási ablakának listázása

A parancs használatával az aks maintenanceconfiguration list listázhatja az AKS-fürt aktuális karbantartási konfigurációs ablakait:

az aks maintenanceconfiguration list --resource-group myResourceGroup --cluster-name myAKSCluster

Adott karbantartási konfigurációs ablak megjelenítése egy meglévő fürtben

Az AKS-fürt egy adott karbantartási konfigurációs ablakának megtekintése a az aks maintenanceconfiguration show paraméterrel rendelkező --name paranccsal:

az aks maintenanceconfiguration show --resource-group myResourceGroup --cluster-name myAKSCluster --name aksManagedAutoUpgradeSchedule

Az alábbi példakimenet a következő karbantartási időszakot aksManagedAutoUpgradeSchedulemutatja be:

{
  "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
}

Karbantartási konfigurációs ablak törlése egy meglévő fürtben

A parancs használatával töröljön egy karbantartási konfigurációs ablakot az AKS-fürtben az aks maintenanceconfiguration delete .

Az alábbi példa törli a karbantartási konfigurációt autoUpgradeSchedule :

az aks maintenanceconfiguration delete --resource-group myResourceGroup --cluster-name myAKSCluster --name autoUpgradeSchedule

GYIK

  • Hogyan ellenőrizhetim a fürt meglévő karbantartási konfigurációit?

    Használja az az aks maintenanceconfiguration show parancsot.

  • Előfordulhatnak reaktív, nem tervezett karbantartások is az notAllowedTime adott időszakban vagy notAllowedDates időszakokban?

    Igen. Az AKS fenntartja a jogot, hogy ezeket az ablakokat megszakítsa olyan nem tervezett, reaktív karbantartási műveletek esetén, amelyek sürgősek vagy kritikusak.

  • Hogyan állapíthatom meg, hogy karbantartási esemény történt-e?

    Kiadások esetén ellenőrizze a fürt régióját, és heti kiadásokban keresse meg az információkat, és ellenőrizze, hogy az megfelel-e a karbantartási ütemtervnek. Az automatikus frissítések állapotának megtekintéséhez keresse meg a fürt tevékenységnaplóit . Az AKS-fürtök frissítésével kapcsolatos konkrét eseményeket is megkereshet.

    Az AKS emellett frissítéssel kapcsolatos Azure Event Grid-eseményeket is bocsát ki. További információkért tekintse meg az AKS-t Event Grid-forrásként.

  • Egyszerre több karbantartási konfigurációt is használhatok?

    Igen, egyszerre mindhárom konfigurációt futtathatja: default, aksManagedAutoUpgradeScheduleés aksManagedNodeOSUpgradeSchedule. Ha az ablakok átfedésben vannak, az AKS dönti el a futó sorrendet.

  • Konfiguráltam egy karbantartási időszakot, de a frissítés nem történt meg. Miért?

    Az AKS automatikus frissítésének bizonyos időre van szüksége a karbantartási időszak figyelembe vételéhez. Javasoljuk, hogy legalább 24 órát a karbantartási konfiguráció létrehozása vagy frissítése és az ütemezett kezdési időpont között.

    Győződjön meg arról is, hogy a fürt a tervezett karbantartási időszak kezdetekor indul el. Ha a fürt le van állítva, a vezérlősíkja felszabadítva van, és nem lehet műveleteket végrehajtani.

  • Miért frissítették az egyik ügynökkészletemet a karbantartási időszakon kívül?

    Ha egy ügynökkészlet nincs frissítve (például mert a podkimaradási költségvetések megakadályozták), előfordulhat, hogy később, a karbantartási időszakon kívül frissítjük. Ezt a forgatókönyvet "felzárkózási frissítésnek" nevezzük. Így elkerülhető, hogy az ügynökkészletek az AKS vezérlősíktól eltérő verzióval legyenek frissítve.

  • Vannak ajánlott eljárások a karbantartási konfigurációkhoz?

    Javasoljuk, hogy a csatorna használata NodeImage esetén a csomópont operációs rendszerének biztonsági frissítéseinek ütemezését heti rendszerességűre állítsa, mert a rendszer minden héten új csomópontrendszerképet szállít. Választhatja azt is, hogy a csatorna megkapja a SecurityPatch napi biztonsági frissítéseket.

    Állítsa be az automatikus frissítés ütemezését havi ütemezésre, hogy naprakész maradjon a Kubernetes N-2 támogatási szabályzatával.

    A frissítési ajánlott eljárások és egyéb szempontok részletes ismertetését az AKS-javítás és a frissítési útmutató ismerteti.

Következő lépések

  • Az AKS-fürt frissítésének megkezdéséhez tekintse meg az AKS-fürtök frissítési lehetőségeit.