Kontrolowanie aktualizacji za pomocą konfiguracji konserwacji i interfejsu wiersza polecenia platformy Azure

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows — elastyczne zestawy ✔️ ✔️ skalowania

Konfiguracje konserwacji umożliwiają podjęcie decyzji, kiedy należy zastosować aktualizacje platformy do różnych zasobów platformy Azure. W tym temacie opisano opcje interfejsu wiersza polecenia platformy Azure dotyczące korzystania z tej usługi. Aby uzyskać więcej informacji na temat korzyści związanych z używaniem konfiguracji konserwacji, jej ograniczeń i innych opcji zarządzania, zobacz Zarządzanie aktualizacjami platformy przy użyciu konfiguracji konserwacji.

Ważne

Istnieją różne zakresy , które obsługują określone typy maszyn i harmonogramy, dlatego upewnij się, że wybierasz odpowiedni zakres dla maszyny wirtualnej.

Utworzenie konfiguracji konserwacji

Pierwszym krokiem do utworzenia konfiguracji konserwacji jest utworzenie grupy zasobów jako kontenera dla konfiguracji. W tym przykładzie w eastus zostanie utworzona grupa zasobów o nazwie myMaintenanceRG. Jeśli masz już grupę zasobów, której chcesz użyć, możesz pominąć tę część i zastąpić nazwę grupy zasobów własną nazwą w pozostałych przykładach.

az group create \
   --location eastus \
   --name myMaintenanceRG

Po utworzeniu grupy zasobów użyj polecenia az maintenance configuration create , aby utworzyć konfigurację konserwacji.

Host

W tym przykładzie tworzona jest konfiguracja konserwacji o nazwie myConfig o zakresie hostowania maszyn z zaplanowanym oknem 5 godzin w czwarty poniedziałek każdego miesiąca.

az maintenance configuration create \
   --resource-group myMaintenanceRG \
   --resource-name myConfig \
   --maintenance-scope host \
   --location eastus \
   --maintenance-window-duration "05:00" \
   --maintenance-window-recur-every "Month Fourth Monday" \
   --maintenance-window-start-date-time "2020-12-30 08:00" \
   --maintenance-window-time-zone "Pacific Standard Time" 

Dzięki temu --maintenance-scope host konfiguracja konserwacji jest używana do kontrolowania aktualizacji infrastruktury hosta. Jeśli spróbujesz utworzyć konfigurację o tej samej nazwie, ale w innej lokalizacji wystąpi błąd. Nazwy konfiguracji muszą być unikatowe dla grupy zasobów.

Możesz sprawdzić, czy konfiguracja konserwacji została pomyślnie utworzona, wysyłając zapytanie o dostępne konfiguracje konserwacji przy użyciu polecenia az maintenance configuration list.

az maintenance configuration list 
   --query "[].{Name:name, ID:id}" 
   --output table 

Uwaga

Cykl konserwacji może być wyrażony jako codziennie, co tydzień lub co miesiąc. Przykłady to:

  • daily- maintenance-window-recur-every: "Day" lub "3Days"
  • co tydzień — konserwacja-okno-recur-every: "3Weeks" lub "Tydzień sobota,niedziela"
  • monthly- maintenance-window-recur-every: "Month day23,day24" lub "Month Last Sunday" lub "Month Fourth Monday" (Miesiąc czwarty poniedziałek)

Virtual Machine Scale Sets

W tym przykładzie tworzona jest konfiguracja konserwacji o nazwie myConfig z zakresem osimage dla zestawów skalowania maszyn wirtualnych z zaplanowanym oknem 5 godzin w czwarty poniedziałek każdego miesiąca.

az maintenance configuration create \
   --resource-group myMaintenanceRG \
   --resource-name myConfig \
   --maintenance-scope osimage \
   --location eastus \
   --maintenance-window-duration "05:00" \
   --maintenance-window-recur-every "Month Fourth Monday" \
   --maintenance-window-start-date-time "2020-12-30 08:00" \
   --maintenance-window-time-zone "Pacific Standard Time" 

Maszyny wirtualne gościa

W tym przykładzie tworzona jest konfiguracja konserwacji o nazwie myConfig o określonym zakresie dla maszyn gości (maszyn wirtualnych i serwerów z obsługą usługi Arc) z zaplanowanym oknem 2 godzin co 20 dni. Aby dowiedzieć się więcej o tych konfiguracjach konserwacji na maszynach wirtualnych gościa, zobacz Gość.

az maintenance configuration create \
   --resource-group myMaintenanceRG \
   --resource-name myConfig \
   --maintenance-scope InGuestPatch \
   --location eastus \
   --maintenance-window-duration "02:00" \
   --maintenance-window-recur-every "20days" \
   --maintenance-window-start-date-time "2022-12-30 07:00" \
   --maintenance-window-time-zone "Pacific Standard Time" \
   --install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
   --install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
   --reboot-setting "IfRequired" \
   --extension-properties InGuestPatchMode="User"

Przypisywanie konfiguracji

Użyj az maintenance assignment create polecenia , aby przypisać konfigurację do maszyny.

Izolowana maszyna wirtualna

Zastosuj konfigurację do izolowanej maszyny wirtualnej hosta przy użyciu identyfikatora konfiguracji. Określ --resource-type virtualMachines i podaj nazwę maszyny wirtualnej dla , oraz grupę zasobów dla --resource-namemaszyny wirtualnej w programie --resource-groupi lokalizację maszyny wirtualnej dla --locationelementu .

az maintenance assignment create \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

Dedykowany host

Aby zastosować konfigurację do dedykowanego hosta, należy dołączyć --resource-type hosts--resource-parent-name element z nazwą grupy hostów i --resource-parent-type hostGroups.

Parametr --resource-id jest identyfikatorem hosta. Aby uzyskać identyfikator dedykowanego hosta, możesz użyć polecenia az-vm-host-get-instance-view .

az maintenance assignment create \
   --resource-group myDHResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myDhResourceGroup/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig" \
   --location eastus \
   --resource-parent-name myHostGroup \
   --resource-parent-type hostGroups 

Virtual Machine Scale Sets

az maintenance assignment create \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVMSS \
   --resource-type virtualMachineScaleSets \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

Maszyny wirtualne gościa

az maintenance assignment create \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

Sprawdzanie konfiguracji

Możesz sprawdzić, czy konfiguracja została zastosowana poprawnie, lub sprawdzić, jaka konfiguracja jest obecnie stosowana przy użyciu polecenia az maintenance assignment list.

Izolowana maszyna wirtualna

az maintenance assignment list \
   --provider-name Microsoft.Compute \
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --query "[].{resource:resourceGroup, configName:name}" \
   --output table

Dedykowany host

az maintenance assignment list \
   --resource-group myDHResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parent-name myHostGroup \
   --resource-parent-type hostGroups \
   --query "[].{ResourceGroup:resourceGroup,configName:name}" \
   --output table

Virtual Machine Scale Sets

az maintenance assignment list \
   --provider-name Microsoft.Compute \
   --resource-group myMaintenanceRG \
   --resource-name myVMSS \
   --resource-type virtualMachines \
   --query "[].{resource:resourceGroup, configName:name}" \
   --output table

Maszyny wirtualne gościa

az maintenance assignment list \
   --provider-name Microsoft.Compute \
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --query "[].{resource:resourceGroup, configName:name}" \
   --output table

Sprawdzanie oczekujących aktualizacji

Użyj polecenia az maintenance update list , aby sprawdzić, czy istnieją oczekujące aktualizacje. Zaktualizuj —-subscription jako identyfikator subskrypcji zawierającej maszynę wirtualną.

Jeśli nie ma aktualizacji, polecenie zwróci komunikat o błędzie, który będzie zawierać tekst: Resource not found...StatusCode: 404.

Jeśli istnieją aktualizacje, zostanie zwrócona tylko jedna, nawet jeśli istnieje wiele oczekujących aktualizacji. Dane dla tej aktualizacji zostaną zwrócone w obiekcie:

[
  {
    "impactDurationInSec": 9,
    "impactType": "Freeze",
    "maintenanceScope": "Host",
    "notBefore": "2020-03-03T07:23:04.905538+00:00",
    "resourceId": "/subscriptions/9120c5ff-e78e-4bd0-b29f-75c19cadd078/resourcegroups/DemoRG/providers/Microsoft.Compute/hostGroups/demoHostGroup/hosts/myHost",
    "status": "Pending"
  }
]

Izolowana maszyna wirtualna

Sprawdź oczekujące aktualizacje dla izolowanej maszyny wirtualnej. W tym przykładzie dane wyjściowe są sformatowane jako tabela na potrzeby czytelności.

az maintenance update list \
   --subscription {subscription ID} \
   --resourcegroup myMaintenanceRg \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --output table

Dedykowany host

Aby sprawdzić oczekujące aktualizacje dla dedykowanego hosta. W tym przykładzie dane wyjściowe są sformatowane jako tabela na potrzeby czytelności. Zastąp wartości dla zasobów własnymi.

az maintenance update list \
   --subscription {subscription ID} \
   --resourcegroup myHostResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parentname myHostGroup \
   --resource-parent-type hostGroups \
   --output table

Stosowanie aktualizacji

Użyj polecenia az maintenance apply update , aby zastosować oczekujące aktualizacje. Po powodzeniu to polecenie zwróci kod JSON zawierający szczegóły aktualizacji. Wykonanie wywołań aktualizacji może potrwać do 2 godzin.

Izolowana maszyna wirtualna

Utwórz żądanie zastosowania aktualizacji do izolowanej maszyny wirtualnej.

az maintenance applyupdate create \
   --subscription {subscriptionID} \
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute

Dedykowany host

Stosowanie aktualizacji do dedykowanego hosta.

az maintenance applyupdate create \
   --subscription {subscriptionID} \
   --resource-group myHostResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parent-name myHostGroup \
   --resource-parent-type hostGroups

Virtual Machine Scale Sets

Stosowanie aktualizacji do zestawu skalowania

az maintenance applyupdate create \
   --subscription {subscriptionID} \
   --resource-group myMaintenanceRG \
   --resource-name myVMSS \
   --resource-type virtualMachineScaleSets \
   --provider-name Microsoft.Compute

Sprawdzanie stanu stosowania aktualizacji

Możesz sprawdzić postęp aktualizacji przy użyciu polecenia az maintenance applyupdate get.

Możesz użyć default jako nazwy aktualizacji, aby wyświetlić wyniki ostatniej aktualizacji lub zastąpić myUpdateName nazwą aktualizacji zwróconej po uruchomieniu az maintenance applyupdate create.

Status         : Completed
ResourceId     : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id             : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso/providers/Microsoft.Maintenance/applyUpdates/default
Name           : default
Type           : Microsoft.Maintenance/applyUpdates

LastUpdateTime to czas ukończenia aktualizacji zainicjowany przez Ciebie lub przez platformę w przypadku, gdy okno samodzielnej konserwacji nie zostało użyte. Jeśli nigdy nie zastosowano aktualizacji za pomocą kontrolki konserwacji, zostanie wyświetlona wartość domyślna.

Izolowana maszyna wirtualna

az maintenance applyupdate get \
   --subscription {subscriptionID} \ 
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --apply-update-name myUpdateName \
   --query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
   --output table

Dedykowany host

az maintenance applyupdate get \
   --subscription {subscriptionID} \ 
   --resource-group myMaintenanceRG \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parent-name myHostGroup \ 
   --resource-parent-type hostGroups \
   --apply-update-name myUpdateName \
   --query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
   --output table

Virtual Machine Scale Sets

az maintenance applyupdate get \
   --subscription {subscriptionID} \ 
   --resource-group myMaintenanceRG \
   --resource-name myVMSS \
   --resource-type virtualMachineScaleSets \
   --provider-name Microsoft.Compute \
   --apply-update-name myUpdateName \
   --query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
   --output table

Usuwanie konfiguracji konserwacji

Użyj az maintenance configuration delete polecenia , aby usunąć konfigurację konserwacji. Usunięcie konfiguracji powoduje usunięcie kontrolki konserwacji ze skojarzonych zasobów.

az maintenance configuration delete \
   --subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
   -resource-group myResourceGroup \
   --resource-name myConfig

Następne kroki

Aby dowiedzieć się więcej, zobacz Konserwacja i aktualizacje.