Az Azure Kubernetes Service-fürt frissítéseinek ütemezése és szabályozása tervezett karbantartással

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

Az AKS-fürt rendszeres karbantartást végez rajta automatikusan. Kétféle karbantartási művelet létezik: AKS által kezdeményezett és felhasználó által kezdeményezett műveletek. Az AKS által kezdeményezett karbantartás magában foglalja azokat a heti kiadásokat, amelyeket az AKS végez, hogy naprakészen tartsa a fürtöt a legújabb funkciókkal és javításokkal. A felhasználó által kezdeményezett karbantartás magában foglalja a fürt automatikus frissítéseit és a Csomópont operációs rendszer automatikus biztonsági frissítéseit. A Tervezett karbantartás funkció lehetővé teszi, hogy mindkét típusú karbantartást tetszőleges ütemben futtassa, ezáltal minimalizálva a számítási feladatokra gyakorolt hatásokat.

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, a paranccsal frissítsen a legújabb verzióra az upgrade .

Megfontolások

Tervezett karbantartás használata esetén a következő szempontokat kell figyelembe venni:

  • Az AKS fenntartja a jogot, hogy megszakítsa a tervezett karbantartási időszakokat 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 végrehajtása csak a legjobb munkamennyiségnek minősül, és nem garantált, hogy egy adott ablakban történik.

Tervezett karbantartási ütemezés konfigurációi

Három elérhető karbantartási ütemezési konfigurációtípus létezik: default, aksManagedAutoUpgradeScheduleés aksManagedNodeOSUpgradeSchedule.

  • default az AKS-kiadások szabályozására szolgáló alapkonfiguráció. A kiadások akár két hétig is eltarthatnak, mire az Azure Széf Üzembe helyezési gyakorlat (SDP) miatt a szállítás kezdeti időpontjától kezdve az összes régióban megjelennek. Úgy dönt default , hogy ezeket a frissítéseket a legkevésbé zavaró módon ütemezi. A heti kiadások nyomon követésével 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. A fürt automatikus frissítéséről további információt az Azure Kubernetes Service -fürtök automatikus frissítéséről szóló cikkben talál.
  • aksManagedNodeOSUpgradeSchedule szabályozza, hogy mikor végezze el a csomópont operációs rendszere (OS) által ütemezett biztonsági javítást a csomópont operációs rendszerének automatikus frissítési csatornája által ütemezetten. 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 csomópont operációs rendszerének automatikus frissítési csatornáról: AKS-fürtcsomópont lemezképeinek automatikus javítása és frissítése

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ókra az aks maintenanceconfiguration update .

Karbantartási időszak létrehozása

Feljegyzés

Az automatikus frissítés használatakor 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 A konfigurációban ez a tulajdonság tartalmazza a day karbantartási időszakot meghatározó értékeket és hourSlots értékeket n/a
timeInWeek.day A hét azon napja, amikor karbantartást végez egy default konfigurációban n/a
timeInWeek.hourSlots Az egy adott napon egy konfigurációban default végzett karbantartáshoz szükséges óránkénti idősávok listája n/a
notAllowedTime Olyan dátumtartományt határoz meg, amelyet a karbantartás nem tud futtatni, amelyet startend a gyermektulajdonságok határoznak meg. Csak akkor alkalmazható, ha konfigurációs fájllal hozza létre a karbantartási időszakot n/a

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ájának meghatározására szolgál +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 utcOffset n/a
schedule A gyakoriság meghatározására szolgál. Három típus érhető el: Weekly, AbsoluteMonthlyés RelativeMonthly n/a
intervalDays A karbantartási időszakok napjainak intervalluma. Csak a aksManagedNodeOSUpgradeSchedule n/a
intervalWeeks A karbantartási futtatások hetekben megadott időköze n/a
intervalMonths A karbantartási időszakok hónapokban megadott időköze n/a
dayOfWeek A hét megadott napja a karbantartás megkezdéséhez n/a
durationHours A karbantartás futtatására szolgáló időszak időtartama n/a
notAllowedDates Olyan dátumtartományt határoz meg, amelyet a karbantartás nem tud futtatni, amelyet startend a gyermektulajdonságok határoznak meg. Csak akkor alkalmazható, ha konfigurációs fájllal hozza létre a karbantartási időszakot n/a

Az ütemezési típusok ismertetése

Négy ütemezéstípus érhető el: Daily, Weekly, AbsoluteMonthlyés RelativeMonthly. Ezek az ütemezéstípusok csak a konfigurációkra aksManagedClusterAutoUpgradeScheduleaksManagedNodeOSUpgradeSchedule vonatkoznak. Daily az ütemezések csak a típusokra aksManagedNodeOSUpgradeSchedule vonatkoznak.

Feljegyzés

Az egyes ütemezési típusokhoz tartozó összes mező kötelező.

Napi ütemezés

Feljegyzés

A napi ütemezések csak a konfigurációtípusokra aksManagedNodeOSUpgradeSchedule vonatkoznak.

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

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

Heti ütemezés

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

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

AbsoluteMonthly ütemezés

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

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

RelativeMonthly ütemezés

Az RelativeMonthly ütemezés "kéthavonta, az utolsó hétfőn" lehet:

"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 paranccsal.

    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 az időzónában UTC+5:30 minden harmadik pénteken 12:00 és 8:00 között fusson.

    # 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 default úgy, hogy minden hétfőn 2:00 és 15:00 óra között futtassa a karbantartást.

    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 az aksManagedAutoUpgradeSchedule karbantartási időszakát mutatja 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

  • Törölje az AKS-fürt karbantartási konfigurációs ablakát a az aks maintenanceconfiguration delete paranccsal.

    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 megszakítsa ezeket az ablakokat a nem tervezett, reaktív karbantartási műveletekhez, amelyek sürgősek vagy kritikusak.

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

    Kiadások esetén ellenőrizze a fürt régióját, és keresse meg a kiadási információkat a heti kiadásokban, és ellenőrizze, hogy az megfelel-e a karbantartási ütemtervnek, vagy sem. 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 a frissítéssel kapcsolatos Event Grid-eseményeket is kibocsátja. 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álhat?

    Igen, mindhárom konfigurációt defaultaksManagedAutoUpgradeScheduleaksManagedNodeOSUpgradeSchedulefuttathatja egyszerre. Abban az esetben, ha az ablakok átfedésben vannak az AKS-sel, eldönti 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 az ütemezett kezdési időponthoz tartozó karbantartási konfiguráció létrehozása vagy frissítése között.

    Emellett győződjön meg arról, 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ík felszabadítva lesz, és nem lehet műveleteket végrehajtani.

  • Az AKS automatikus frissítése nem frissítette az összes ügynökkészletemet , vagy az egyik készletet a karbantartási időszakon kívül frissítették?

    Ha egy ügynökkészlet frissítése sikertelen (például a podkimaradási költségvetések miatt, amelyek megakadályozzák a frissítését), vagy sikertelen állapotban van, akkor előfordulhat, hogy később frissíthető a karbantartási időszakon kívül. Ezt a forgatókönyvet "felzárkózási frissítésnek" nevezzük, és elkerüli, hogy az ügynökkészletek az AKS vezérlősíkjától eltérő verziójúak legyenek.

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

    Javasoljuk, hogy a node operációs rendszer biztonsági frissítéseinek ütemezését heti ütemezésre állítsa, ha csatornát használ NodeImage , mivel egy új csomópontrendszerkép hetente és naponta lesz szállítva, ha a csatornát SecurityPatch választja a napi biztonsági frissítések fogadásához. Állítsa be az automatikus frissítés ütemezését havi ütemezésre, hogy a Kubernetes N-2 támogatási szabályzatán felül maradjon. 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