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-name
maszyny wirtualnej w programie --resource-group
i lokalizację maszyny wirtualnej dla --location
elementu .
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.