Plánování a řízení upgradů pro cluster Azure Kubernetes Service (AKS) pomocí plánované údržby

V tomto článku se dozvíte, jak pomocí plánované údržby naplánovat a řídit upgrady imagí clusteru a uzlů ve službě Azure Kubernetes Service (AKS).

Cluster AKS má automaticky provedenou pravidelnou údržbu. Existují dva typy operací údržby: iniciované AKS a iniciované uživatelem. Údržba iniciovaná službou AKS zahrnuje týdenní verze, které AKS provádí, aby byl cluster aktuální s nejnovějšími funkcemi a opravami. Údržba iniciovaná uživatelem zahrnuje automatické upgrady clusteru a automatické aktualizace zabezpečení operačního systému uzlu. Funkce Plánované údržby umožňuje spouštět oba typy údržby ve vámi zvoleném tempu, čímž minimalizuje dopad na úlohy.

Než začnete

  • Tento článek předpokládá, že máte existující cluster AKS. Pokud cluster AKS nemáte, přečtěte si téma Vytvoření clusteru AKS.
  • Pokud používáte Azure CLI, nezapomeňte pomocí az upgrade příkazu upgradovat na nejnovější verzi.

Důležité informace

Při použití plánované údržby platí následující aspekty:

  • AKS si vyhrazuje právo přerušit časové intervaly plánované údržby pro neplánované a reaktivní operace údržby, které jsou naléhavé nebo kritické. Tyto operace údržby můžou běžet i během notAllowedTime období notAllowedDates definovaných v konfiguraci.
  • Provádění operací údržby se považuje pouze za nejlepší úsilí a není zaručeno, že dojde v zadaném období.

Konfigurace plánu plánované údržby

Existují tři dostupné typy konfigurace plánu údržby: default, aksManagedAutoUpgradeSchedulea aksManagedNodeOSUpgradeSchedule.

  • default je základní konfigurace sloužící k řízení verzí AKS. Uvedení verzí do všech oblastí může trvat až dva týdny od počátečního odeslání kvůli postupům nasazení Azure Sejf (SDP). Zvolte default , že chcete tyto aktualizace naplánovat způsobem, který je pro vás nejméně rušivý. Stav probíhající verze AKS můžete monitorovat podle oblastí pomocí týdenního sledování vydaných verzí.
  • aksManagedAutoUpgradeSchedule určuje, kdy provést upgrady clusteru naplánované určeným kanálem automatického upgradu. Pomocí této konfigurace můžete nakonfigurovat jemněji řízená četnost a nastavení opakování v porovnání s default konfigurací. Další informace o automatickém upgradu clusteru najdete v tématu Automatické upgrade clusteru Azure Kubernetes Service (AKS).
  • aksManagedNodeOSUpgradeSchedule určuje, kdy provést opravy zabezpečení operačního systému uzlu naplánované kanálem automatického upgradu operačního systému uzlu. Pomocí této konfigurace můžete nakonfigurovat jemněji řízená četnost a nastavení opakování v porovnání s default konfigurací. Další informace o kanálu automatického upgradu operačního systému uzlu najdete v tématu Automatické opravy a aktualizace imagí uzlů clusteru AKS.

Doporučujeme použít aksManagedAutoUpgradeSchedule pro všechny scénáře upgradu clusteru a aksManagedNodeOSUpgradeSchedule pro všechny scénáře oprav zabezpečení operačního systému uzlu. Tato default možnost je určená výhradně pro týdenní verze AKS. Konfiguraci můžete přepnout default na aksManagedAutoUpgradeSchedule konfiguraci nebo aksManagedNodeOSUpgradeSchedule konfiguraci pomocí az aks maintenanceconfiguration update příkazu.

Vytvoření časového období údržby

Poznámka:

Pokud používáte automatický upgrade, abyste zajistili správnou funkčnost, použijte časové období údržby s dobou trvání čtyř hodin nebo více.

Časové intervaly plánované údržby jsou uvedeny ve standardu UTC (Coordinated Universal Time).

Časové default období údržby má následující vlastnosti:

Název Popis Default value
timeInWeek default V konfiguraci tato vlastnost obsahuje day hodnoty definující časové období údržby.hourSlots
timeInWeek.day Den v týdnu k provedení údržby default v konfiguraci
timeInWeek.hourSlots Seznam hodinových časových úseků pro provádění údržby v daném dni v default konfiguraci
notAllowedTime Určuje rozsah dat, která údržba nemůže spustit, určená vlastnostmi a end podřízenými vlastnostmistart. Platí pouze při vytváření časového období údržby pomocí konfiguračního souboru.

Časové aksManagedAutoUpgradeSchedule období údržby aksManagedNodeOSUpgradeSchedule má následující vlastnosti:

Název Popis Default value
utcOffset Slouží k určení časového pásma pro údržbu clusteru. +00:00
startDate Datum, kdy se časové období údržby začne projevit Aktuální datum v době vytvoření
startTime Doba zahájení údržby na základě časového pásma určeného časovým pásmem utcOffset
schedule Používá se k určení frekvence. K dispozici jsou tři typy: Weekly, AbsoluteMonthlya RelativeMonthly
intervalDays Interval ve dnech spuštění údržby. Platí pouze pro aksManagedNodeOSUpgradeSchedule
intervalWeeks Interval v týdnech pro spuštění údržby
intervalMonths Interval v měsících pro běhy údržby
dayOfWeek Zadaný den v týdnu pro zahájení údržby
durationHours Doba trvání časového období pro spuštění údržby
notAllowedDates Určuje rozsah kalendářních dat, která nemůže údržba spustit, určená vlastnostmi a end podřízenými vlastnostmistart. Platí pouze při vytváření časového období údržby pomocí konfiguračního souboru.

Principy typů plánů

Existují čtyři dostupné typy plánů: Daily, Weekly, AbsoluteMonthlya RelativeMonthly. Tyto typy plánů se vztahují pouze na aksManagedClusterAutoUpgradeSchedule a aksManagedNodeOSUpgradeSchedule konfigurace. Daily plány se vztahují pouze na aksManagedNodeOSUpgradeSchedule typy.

Poznámka:

Všechna pole zobrazená pro každý odpovídající typ plánu jsou povinná.

Denní plán

Poznámka:

Denní plány se vztahují pouze na aksManagedNodeOSUpgradeSchedule typy konfigurace.

Plán Daily může vypadat takto : "každých tři dny":

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

Týdenní plán

Plán Weekly může vypadat jako "každý dva týdny v pátek":

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

Plán AbsoluteMonthly

Plán AbsoluteMonthly může vypadat takto : "každý tři měsíce v prvním dni v měsíci":

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

Plán RelativeMonthly

Plán RelativeMonthly může vypadat jako "každé dva měsíce v posledním pondělí":

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

Platné hodnoty pro weekIndex zahrnutí First, , ThirdSecond, Fourth, a Last.

Přidání konfigurace časového období údržby

  • Přidejte konfiguraci časového období údržby do clusteru AKS pomocí az aks maintenanceconfiguration add příkazu.

    První příklad přidá novou default konfiguraci, která plánuje spuštění údržby od 1:00 do 2:00 každé pondělí. Druhý příklad přidá novou aksManagedAutoUpgradeSchedule konfiguraci, která plánuje spuštění údržby každý třetí pátek mezi 12:00 a 8:00 v časovém pásmu UTC+5:30 .

    # 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
    

    Poznámka:

    Pokud používáte default typ konfigurace, můžete parametr vynechat --start-time , abyste umožnili údržbu kdykoli během dne.

Aktualizace existujícího časového období údržby

  • Pomocí příkazu aktualizujte existující konfiguraci údržby az aks maintenanceconfiguration update .

    Následující příklad aktualizuje default konfiguraci tak, aby plán údržby běžela od 2:00 do 3:00 každé pondělí.

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

Výpis všech časových období údržby v existujícím clusteru

Pomocí příkazu vypište aktuální časová období konfigurace údržby v clusteru az aks maintenanceconfiguration list AKS.

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

Zobrazení určitého časového období konfigurace údržby v existujícím clusteru

Pomocí příkazu s parametrem zobrazte v clusteru az aks maintenanceconfiguration show AKS konkrétní okno konfigurace údržby --name .

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

Následující příklad výstupu ukazuje časové období údržby pro aksManagedAutoUpgradeSchedule:

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

Odstranění časového období konfigurace údržby v existujícím clusteru

  • Pomocí příkazu odstraňte okno konfigurace údržby v clusteru az aks maintenanceconfiguration delete AKS.

    Následující příklad odstraní konfiguraci údržby autoUpgradeSchedule .

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

Často kladené dotazy

  • Jak můžu zkontrolovat stávající konfigurace údržby v clusteru?

    Použijte příkaz az aks maintenanceconfiguration show.

  • Může k neplánované údržbě dojít i během notAllowedTime období nebo notAllowedDates období?

    Ano, AKS si vyhrazuje právo přerušit tato okna pro neplánované, reaktivní operace údržby, které jsou naléhavé nebo kritické.

  • Jak zjistíte, jestli došlo k události údržby?

    V případě vydaných verzí zkontrolujte oblast clusteru a vyhledejte informace o verzi v týdenních verzích a ověřte, jestli odpovídá vašemu plánu údržby nebo ne. Pokud chcete zobrazit stav automatických upgradů, vyhledejte protokoly aktivit v clusteru. Můžete také vyhledat konkrétní události související s upgradem, jak je uvedeno v upgradu clusteru AKS. AKS také generuje události event Gridu související s upgradem. Další informace najdete v AKS jako zdroj Event Gridu.

  • Můžete současně použít více než jednu konfiguraci údržby?

    Ano, můžete spustit všechny tři konfigurace, tjdefault. , aksManagedAutoUpgradeScheduleaksManagedNodeOSUpgradeSchedulesoučasně. V případě, že se okna překrývají, AKS rozhodne o spuštěném pořadí.

  • Nakonfiguroval(a) jsem časové období údržby, ale upgrade se nestal – proč?

    Automatický upgrade AKS potřebuje určitou dobu, aby bylo potřeba vzít v úvahu časové období údržby. Doporučujeme alespoň 24 hodin mezi vytvořením nebo aktualizací konfigurace údržby podle naplánovaného času spuštění.

    Ujistěte se také, že se cluster spustí při spuštění časového období plánované údržby. Pokud je cluster zastavený, jeho řídicí rovina se uvolní a není možné provádět žádné operace.

  • Automatický upgrade AKS neupgradoval všechny fondy agentů – nebo se některý z fondů upgradoval mimo časové období údržby?

    Pokud se fondu agentů nepodaří upgradovat (například kvůli rozpočtům přerušení podů brání upgradu) nebo je ve stavu selhání, může se upgradovat později mimo časové období údržby. Tento scénář se nazývá "catch-up upgrade" a zabraňuje tomu, aby fondy agentů s jinou verzí než řídicí rovina AKS.

  • Existují nějaké osvědčené postupy pro konfigurace údržby?

    Pokud používáte NodeImage kanál, doporučujeme nastavit plán aktualizací zabezpečení operačního systému Node na týdenní frekvenci, protože se každý týden a každý den odešle nová image uzlu, pokud se rozhodnete SecurityPatch pro kanál přijímat denní aktualizace zabezpečení. Nastavte plán automatického upgradu na měsíční tempo, abyste zůstali nad zásadami podpory Kubernetes N-2. Podrobné informace o osvědčených postupech upgradu a dalších aspektech najdete v pokynech k opravám a upgradu AKS.

Další kroky