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
Za pomocą funkcji Konfiguracja konserwacji możesz kontrolować, kiedy należy zastosować aktualizacje platformy do różnych zasobów platformy Azure. W tym artykule opisano opcje interfejsu wiersza polecenia platformy Azure dotyczące korzystania z tej funkcji. Aby uzyskać więcej informacji na temat korzyści wynikających z używania konfiguracji konserwacji, ograniczeń i innych opcji zarządzania, zobacz Zarządzanie aktualizacjami platformy przy użyciu konfiguracji konserwacji.
Ważne
Określone zakresy obsługują określone typy maszyn i harmonogramy. Pamiętaj, aby wybrać odpowiedni zakres dla maszyny wirtualnej.
Utworzenie konfiguracji konserwacji
Pierwszym krokiem tworzenia konfiguracji konserwacji jest utworzenie grupy zasobów jako kontenera dla konfiguracji. W tym przykładzie zostanie utworzona grupa zasobów o nazwie myMaintenanceRG w regionie eastus. 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.
Gospodarz
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"
Użycie --maintenance-scope host
zapewnia, że 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.
Aby sprawdzić, czy konfiguracja konserwacji została pomyślnie utworzona, możesz wykonać zapytanie dotyczące dostępnych konfiguracji konserwacji przy użyciu polecenia az maintenance configuration list
:
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
Cykl konserwacji można wyrazić jako cykl dzienny, tygodniowy lub miesięczny. Oto kilka przykładów:
- Codziennie:
maintenance-window-recur-every
wartość"Day"
lub"3Days"
. - Co tydzień:
maintenance-window-recur-every
wartość"3Weeks"
lub"Week Saturday,Sunday"
. - Co miesiąc:
maintenance-window-recur-every
wartość"Month day23,day24"
lub"Month Last Sunday"
Month Fourth Monday
.
Zestawy skalowania maszyn wirtualnych
W tym przykładzie tworzona jest konfiguracja konserwacji o nazwie myConfig z zakresem obrazu systemu operacyjnego 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 zakresie dla maszyn gości (maszyn wirtualnych i serwerów z obsługą usługi Azure Arc) z zaplanowanym oknem 2 godzin co 20 dni. Dowiedz się więcej o konfiguracjach konserwacji na maszynach wirtualnych gościa.
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. Podaj wartość --resource-type virtualMachines
. Podaj nazwę maszyny wirtualnej dla --resource-name
, grupy zasobów maszyny wirtualnej dla --resource-group
, oraz lokalizację maszyny wirtualnej dla --location
.
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
Zestawy skalowania maszyn wirtualnych
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
Zestawy skalowania maszyn wirtualnych
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
wartość jako identyfikator subskrypcji zawierającej maszynę wirtualną.
Jeśli nie ma aktualizacji, polecenie zwraca komunikat o błędzie zawierający tekst Resource not found...StatusCode: 404
.
Jeśli istnieją aktualizacje, polecenie zwraca tylko jedno, nawet jeśli wiele aktualizacji oczekuje. Dane dla tej aktualizacji są zwracane 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 w celu zapewnienia czytelności:
az maintenance update list \
--subscription {subscription ID} \
--resource-group myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output table
Dedykowany host
Sprawdź oczekujące aktualizacje dla dedykowanego hosta. W tym przykładzie dane wyjściowe są sformatowane jako tabela w celu zapewnienia czytelności. Zastąp wartości zasobów własnymi.
az maintenance update list \
--subscription {subscription ID} \
--resource-group 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 zwraca kod JSON zawierający szczegóły aktualizacji. Ukończenie wywołań stosowania 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
Zastosuj aktualizacje 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
Zestawy skalowania maszyn wirtualnych
Zastosuj aktualizacje 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
Postęp aktualizacji można sprawdzić przy użyciu polecenia az maintenance applyupdate get
.
Aby wyświetlić wyniki ostatniej aktualizacji, użyj default
jej jako nazwy aktualizacji. Lub zastąp myUpdateName
ciąg nazwą aktualizacji, która została zwrócona podczas uruchamiania az maintenance applyupdate create
polecenia .
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 zakończenia aktualizacji, niezależnie od tego, czy zainicjowano aktualizację, czy zainicjowaną przez platformę, ponieważ nie użyto okna samodzielnej konserwacji. Jeśli aktualizacja nigdy nie została zastosowana za pomocą konfiguracji konserwacji, LastUpdateTime
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
Zestawy skalowania maszyn wirtualnych
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
Aby usunąć konfigurację konserwacji, użyj polecenia az maintenance configuration delete
. 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 maszyn wirtualnych na platformie Azure.