Dela via


Automatisera uppgraderingar av Kubernetes- och nodavbildningar i flera kluster med Azure Kubernetes Fleet Manager

Gäller för: ✔️ Fleet Manager ✔️ Fleet Manager med hubbkluster

Att se till att kluster hålls uppdaterade i tid och på ett säkert sätt är ett viktigt problem för plattformsadministratörer. När en administratör har implementerat Uppdateringskörningar och strategier för Azure Kubernetes Fleet Manager kan de använda profiler för automatisk uppgradering för att automatisera körningen av uppdateringskörningar när nya Kubernetes- eller nodbildversioner släpps.

Den här artikeln beskriver hur du använder profiler för automatisk uppgradering för att automatiskt skapa och köra uppdateringskörningar när nya Kubernetes- eller nodbildversioner görs tillgängliga av AKS.

Anteckning

Automatiska uppgraderingsutlösta uppdateringskörningar respekterar planerade underhållsperioder som du anger på AKS-klusternivå. Mer information finns i planerat underhåll i flera medlemskluster som förklarar hur uppdateringskörningar hanterar medlemskluster med konfigurerade fönster för planerat underhåll.

Innan du börjar

  • Läs den konceptuella översikten över profiler för automatisk uppgradering, som innehåller en förklaring av konfigurationer som refereras till i den här guiden.

  • Du måste ha en Fleet Manager med ett eller flera medlemskluster. Om inte följer du snabbstarten för att skapa en Fleet Manager och ansluta till AkS-kluster (Azure Kubernetes Service) som medlemmar.

  • Om du vill använda en uppdateringsstrategi konfigurerar du en med hjälp av anvisningarna i artikeln om uppdateringskörning. Du behöver resursidentifieraren för uppdateringsstrategi som ska användas med en profil för automatisk uppgradering när du använder Azure CLI.

Skapa profiler för automatisk uppgradering

Börja med att slutföra de här stegen för att säkerställa att din miljö är korrekt konfigurerad.

  • Ange följande miljövariabler:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • Du behöver Azure CLI version 2.70.0 eller senare installerat. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.

  • Du behöver fleet också Azure CLI-tillägget version 1.5.0 eller senare, som du kan installera genom att köra följande kommando:

    az extension add --name fleet
    

    Kör följande kommando för att uppdatera till den senaste versionen av tillägget som släpptes:

    az extension update --name fleet
    

az fleet autoupgradeprofile create Använd kommandot för att skapa profiler på det sätt som visas.

Du kan skapa en inaktiverad profil för automatisk uppgradering genom att skicka --disabled argumentet när du använder create kommandot . För att aktivera profilen för automatisk uppgradering måste du återisera hela create kommandot och utelämna --disabled argumentet.

Anteckning

Inaktivering av en profil för automatisk uppgradering påverkar inte några in-progess-uppdateringskörningar, men inga nya uppdateringskörningar genereras förrän du återaktiverar profilen.

Kubernetes-uppdateringar för stabil kanal

Uppdatera till den senaste kubernetes-korrigeringsversionen som stöds på delversion N-1, där N är den senaste delversionen som stöds.

Uppdatera medlemskluster sekventiellt en i taget.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel Stable

Uppdatera medlemskluster med hjälp av en befintlig uppdateringsstrategi.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable

Uppdatera medlemskluster med hjälp av en befintlig uppdateringsstrategi, vilket säkerställer att samma nodavbildningsversion används i varje Azure-region. Alla medlemskluster kör samma nodbildversion.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Consistent

Uppdatera medlemskluster med hjälp av en befintlig uppdateringsstrategi med den senaste tillgängliga nodavbildningsversionen för varje Azure-region. Medlemskluster kan köra flera nodavbildningsversioner.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Latest

Uppdateringar av Kubernetes-delversioner (förhandsversion)

Uppdatera till en definierad kubernetes-målversion med hjälp av parametern --target-kubernetes-version och ange versionen i formatet {huvudversion}.{ delversion} (till exempel 1.33). Automatisk uppgradering av flottan uppgraderar automatiskt medlemskluster till den senaste korrigeringsversionen av den angivna målversionen när korrigeringen är tillgänglig.

Viktigt!

Förhandsversionsfunktionerna i Azure Kubernetes Fleet Manager är tillgängliga via självbetjäning och opt-in. Förhandsversioner tillhandahålls "som är" och "som tillgängliga", och de undantas från serviceavtalen och den begränsade garantin. Förhandsversioner av Azure Kubernetes Fleet Manager omfattas delvis av kundsupport på bästa sätt. Därför är dessa funktioner inte avsedda för produktionsanvändning.

Anteckning

  • När du använder TargetKubernetesVersion kanalen måste du ange parametern --target-kubernetes-version . För andra kanaler (Rapid, Stable, NodeImage) stöds inte den här parametern.

  • Flaggan --long-term-support (LTS) är endast tillgänglig när du använder TargetKubernetesVersion kanalen. För andra kanaler måste den här flaggan vara inställd på False.

  • Du kan inte ange kubernetes-målversionen till en framtida Kubernetes-version som ännu inte har släppts av AKS.

  • Du kan bara välja LTS Kubernetes-versioner (N-2) för en profil för automatisk uppgradering genom att ange --long-term-support-flaggan. För automatisk uppgradering av flottan för att fortsätta fungera i det här scenariot måste du också se till att klustren i den genererade uppdateringskörningen är alla LTS-aktiverade. Icke-LTS-kluster gör att uppdateringskörningen misslyckas när det första icke-LTS-klustret påträffas.

Uppdatera medlemskluster automatiskt till den senaste korrigeringen av Kubernetes version 1.33.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.33"

Uppdatera medlemskluster automatiskt med LTS aktiverat till den senaste korrigeringen av Kubernetes delversion 1.29, som för närvarande endast är tillgänglig via AKS LTS.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.29" \
  --long-term-support

Uppdateringar av nodbild

Uppdatera noder med en nyligen korrigerad datorbild som innehåller säkerhetskorrigeringar och felkorrigeringar.

Uppdatera nodavbildningar för medlemskluster, bearbeta kluster sekventiellt en i taget.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel NodeImage

Uppdatera nodavbildningar för medlemskluster, bearbeta kluster med hjälp av en befintlig uppdateringsstrategi.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel NodeImage 

Visa profil för automatisk uppgradering

Du kan använda kommandona az fleet autoupgradeprofile list eller az fleet autoupgradeprofile show för att visa profilen för automatisk uppgradering.

Visa en lista över alla profiler för automatisk uppgradering för en flotta.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET

Visa en specifik profil för automatisk uppgradering för en flotta.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Ta bort profil för automatisk uppgradering

az fleet autoupgradeprofile delete Använd kommandot för att ta bort en befintlig profil för automatisk uppgradering. Du uppmanas att bekräfta borttagningen. Om du vill ta bort profilen omedelbart tar du med --yes.

az fleet autoupgradeprofile delete \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Anteckning

Att ta bort en profil för automatisk uppgradering påverkar inte pågående uppdateringskörningar.

Skapa profiler för automatisk uppgradering

  1. I Azure Portal går du till din Azure Kubernetes Fleet Manager-resurs.

  2. På tjänstmenyn går du till Inställningar och väljer Profiler för automatisk uppgradering av flera kluster>.

  3. Välj Skapa, ange ett namn för profilen och välj sedan om profilen är Aktiverad eller inte. Inaktiverade profiler för automatisk uppgradering utlöses inte när nya versioner släpps.

  4. Välj uppdateringssekvensen för antingen Faser eller En i taget.

    Skärmbild av fönstret Azure Kubernetes Fleet Manager Azure Portal för att skapa en profil för automatisk uppgradering som uppdaterar kluster med hjälp av en strategi.

  5. Välj något av följande alternativ för kanalen:

    • Stabil – uppdatera kluster med korrigeringar för N-1 Kubernetes allmänt tillgängliga delversioner.
    • Snabb – uppdatera kluster med korrigeringar för den senaste (N) Kubernetes allmänt tillgängliga delversionen.
    • Nodbild – uppdatera endast nodbildens version.
    • Målversion av Kubernetes-delversion (förhandsversion) – uppdatera kluster till den senaste patchversionen av den angivna målversionen av Kubernetes-delversionen när patchen är tillgänglig.

    Skärmbild av fönstret Azure Kubernetes Fleet Manager Azure Portal för att skapa en profil för automatisk uppgradering som definierar hur uppdateringen utlöses.

  6. Om du väljer kanal för Kubernetes delversion (förhandsversion), kan du välja den Kubernetes delversion som ska användas som trigger:

    • Tillåt LTS-delversioner: Tillåter val av Kubernetes-delversioner som endast är tillgängliga för AKS-kluster för långsiktig support (LTS).
    • Målad Kubernetes-delversion: Välj utlösaren för Kubernetes-delversion. Kluster med en lägre minorversion uppdateras till det först, och sedan tillämpas endast patchuppdateringar.

    Skärmbild av Azure Kubernetes Fleet Manager Azure-portalfönstret för att skapa en profil för automatisk uppgradering, som definierar vilken Kubernetes-del som ska användas som utlösare.

    Anteckning

    Tillåt LTS-delversioner stöder endast uppdateringskörningar med alla kluster med LTS aktiverat. Om du stöter på ett icke-LTS-kluster misslyckas uppdateringskörningen.

  7. Om du väljer antingen kanalen Stable, Rapid eller Target Kubernetes minor version (förhandsversion) kan du välja hur nodbilduppdateringar ska tillämpas:

    • Senaste bilden: Uppdaterar varje AKS-kluster i profilen för automatisk uppgradering till den senaste avbildningen som är tillgänglig för klustret i dess Azure-region.
    • Konsekvent bild: Det är möjligt för en automatisk uppgradering att ha AKS-kluster i flera Azure-regioner där de senaste tillgängliga nodavbildningarna kan vara olika (se AKS-versionsspåraren för mer information). Om du väljer det här alternativet ser du till att den automatiska uppgraderingen väljer den senaste gemensamma avbildningen i alla Azure-regioner för att uppnå konsekvens.

    Anteckning

    Nodbildkanalen använder alltid konsekvent avbildning.

  8. Om du har valt en uppdateringssekvens med hjälp av Steg väljer eller skapar du en strategi.

    Skärmbild av fönstret Azure Kubernetes Fleet Manager Azure Portal för att skapa en profil för automatisk uppgradering och välj den uppdateringsstrategi som ska användas.

  9. Välj Skapa för att skapa profilen för automatisk uppgradering.

Visa profil för automatisk uppgradering

  1. I Azure Portal går du till din Azure Kubernetes Fleet Manager-resurs.

  2. På tjänstmenyn går du till Inställningar och väljer Profiler för automatisk uppgradering av flera kluster>.

    Skärmbild av fönstret Azure Kubernetes Fleet Manager Azure Portal för visning av tillgängliga profiler för automatisk uppgradering.

  3. Om du vill visa konfigurationen väljer du önskad profil för automatisk uppgradering.

    Skärmbild av fönstret Azure Kubernetes Fleet Manager Azure Portal visar konfigurationen av en enda profil för automatisk uppgradering.

Ta bort profil för automatisk uppgradering

  1. I Azure Portal går du till din Azure Kubernetes Fleet Manager-resurs.

  2. På tjänstmenyn går du till Inställningar och väljer Profiler för automatisk uppgradering av flera kluster>.

    Skärmbild av fönstret Azure Kubernetes Fleet Manager Azure Portal för visning av tillgängliga profiler för automatisk uppgradering.

  3. Välj önskad profil i listan och välj sedan Ta bort för att ta bort profilen.

Anteckning

Att ta bort en profil för automatisk uppgradering påverkar inte pågående uppdateringskörningar.

Verifiera automatisk uppgradering

Automatiska uppgraderingar sker endast när nya Kubernetes- eller nodbilder görs tillgängliga. När automatisk uppgradering utlöses skapas en länkad uppdateringskörning, så att du kan använda hantera uppdateringskörning för att se resultatet av den automatiska uppgraderingen.

Du kan också kontrollera dina befintliga versioner som en baslinje på följande sätt.

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

När uppdateringen har slutförts kan du köra de här kommandona igen och visa de uppdaterade versioner som har distribuerats.

Generera en uppdateringskörning från en profil för automatisk uppgradering

När du skapar en profil för automatisk uppgradering kan det dröja innan en ny Kubernetes- eller nodbildversion utlöser automatisk uppgradering för att skapa och köra en uppdateringskörning.

Med automatisk uppgradering kan du generera en ny uppdateringskörning när som helst med kommandot az fleet autoupgradeprofile generate-update-run . Den resulterande uppdateringskörningen baseras på den aktuella AKS-publicerade Kubernetes- eller nodbildversionen.

Mer information om hur du skapar en uppdateringskörning på begäran från en profil för automatisk uppgradering finns i generera en uppdateringskörning från en profil för automatisk uppgradering.

Nästa steg