Bagikan melalui


Cara mengelola pembaruan secara terprogram untuk server dengan dukungan Azure Arc

Artikel ini memandikan Anda melalui proses penggunaan Azure REST API untuk memicu penilaian dan penyebaran pembaruan di server yang didukung Azure Arc Anda dengan Azure Update Manager di Azure. Jika Anda baru menggunakan Azure Update Manager dan ingin mempelajari selengkapnya, lihat gambaran umum Update Manager. Untuk menggunakan Azure REST API untuk mengelola komputer virtual Azure, lihat Cara bekerja secara terprogram dengan komputer virtual Azure.

Update Manager di Azure memungkinkan Anda menggunakan Azure REST API untuk akses secara terprogram. Selain itu, Anda dapat menggunakan perintah REST yang sesuai dari Azure PowerShell dan Azure CLI.

Dukungan untuk Azure REST API untuk mengelola server dengan dukungan Azure Arc tersedia melalui ekstensi komputer virtual Update Manager.

Penilaian Pembaruan

Untuk memicu penilaian pembaruan di server berkemampuan Azure Arc Anda, tentukan permintaan POST berikut:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview`
{
}

Untuk menentukan permintaan POST, Anda dapat menggunakan perintah Azure CLI az rest .

az rest --method post --url https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview --body @body.json

Format isi permintaan untuk versi 2020-08-15 adalah sebagai berikut:

{
}

Memperbarui penyebaran

Untuk memicu penyebaran pembaruan ke server berkemampuan Azure Arc Anda, tentukan permintaan POST berikut:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`

Isi permintaan

Tabel berikut ini menjelaskan elemen isi permintaan:

Properti Deskripsi
maximumDuration Jumlah waktu maksimum dalam menit yang dapat diambil oleh operasi pembaruan OS. Ini harus berupa string durasi yang mematuhi ISO 8601 seperti PT100M.
rebootSetting Bendera untuk menyatakan apakah Anda harus me-reboot komputer dan jika penginstalan pembaruan OS Tamu membutuhkannya untuk penyelesaian. Nilai yang dapat diterima adalah: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Opsi parameter untuk pembaruan OS Tamu pada komputer yang menjalankan sistem operasi Microsoft Windows Server yang didukung.
windowsParameters - classificationsToInclude Daftar kategori atau klasifikasi pembaruan OS yang akan diterapkan, seperti yang didukung dan disediakan oleh OS Windows Server. Nilai yang dapat diterima adalah: Critical, Security, UpdateRollUp, FeaturePack, ServicePack, Definition, Tools, Update
windowsParameters - kbNumbersToInclude Daftar ID KB Windows Update yang tersedia untuk mesin dan yang perlu Anda instal. Jika Anda telah menyertakan 'classificationsToInclude', KB yang tersedia dalam kategori akan diinstal. 'kbNumbersToInclude' adalah opsi untuk menyediakan daftar ID KB tertentu di atasnya yang ingin Anda instal. Misalnya: 1234
windowsParameters - kbNumbersToExclude Daftar Id KB Windows Update yang tersedia untuk komputer dan yang seharusnya tidak diinstal. Jika Anda telah menyertakan 'klasifikasiToInclude', KB yang tersedia dalam kategori akan diinstal. 'kbNumbersToExclude' adalah opsi untuk menyediakan daftar ID KB tertentu yang ingin Anda pastikan tidak diinstal. Misalnya: 5678
maxPatchPublishDate Ini digunakan untuk menginstal patch yang diterbitkan pada atau sebelum tanggal publikasi maks yang diberikan ini.
linuxParameters Opsi parameter untuk pembaruan OS Tamu saat mesin menjalankan distribusi Linux yang didukung
linuxParameters - classificationsToInclude Daftar kategori atau klasifikasi pembaruan OS yang akan diterapkan, seperti yang didukung & disediakan oleh manajer paket OS Linux yang digunakan. Nilai yang dapat diterima adalah: Critical, Security, Others. Untuk informasi selengkapnya, lihat Manajer paket Linux dan dukungan OS.
linuxParameters - packageNameMasksToInclude Daftar paket Linux yang tersedia untuk komputer dan perlu diinstal. Jika Anda telah menyertakan 'klasifikasiToInclude', paket yang tersedia dalam kategori akan diinstal. 'packageNameMasksToInclude' adalah opsi untuk menyediakan daftar paket di atas dan ke atas yang ingin Anda instal. Misalnya: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Daftar paket Linux yang tersedia untuk komputer dan tidak boleh diinstal. Jika Anda telah menyertakan 'klasifikasiToInclude', paket yang tersedia dalam kategori akan diinstal. 'packageNameMasksToExclude' adalah opsi untuk menyediakan daftar paket tertentu yang ingin Anda pastikan tidak diinstal. Misalnya: mysql, libc=1.0.1.1, kernel*

Untuk menentukan permintaan POST, Anda dapat menggunakan panggilan Azure REST API berikut dengan parameter dan nilai yang valid.

POST on 'subscriptions/subscriptionI/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview

{
        "maximumDuration": "PT120M",
        "rebootSetting": "IfRequired",
        "windowsParameters": {
          "classificationsToInclude": [
            "Security",
            "UpdateRollup",
            "FeaturePack",
            "ServicePack"
          ],
          "kbNumbersToInclude": [
            "11111111111",
            "22222222222222"
          ],
          "kbNumbersToExclude": [
            "333333333333",
            "55555555555"
          ]
        }
  }'

Membuat jadwal konfigurasi pemeliharaan

Untuk membuat jadwal konfigurasi pemeliharaan, tentukan permintaan PUT berikut:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`

Isi permintaan

Tabel berikut ini menjelaskan elemen isi permintaan:

Properti Deskripsi
id Pengidentifikasi sumber daya yang sepenuhnya memenuhi syarat
location Mendapatkan atau mengatur lokasi sumber daya
name Nama sumber daya
properties.extensionProperties Mendapatkan atau mengatur extensionProperties dari maintenanceConfiguration
properties.maintenanceScope Mendapatkan atau mengatur maintenanceScope konfigurasi
properties.maintenanceWindow.duration Durasi jendela pemeliharaan dalam format HH:mm. Jika tidak disediakan, nilai default akan digunakan berdasarkan cakupan pemeliharaan yang disediakan. Contoh: 05:00.
properties.maintenanceWindow.expirationDateTime Tanggal kedaluwarsa efektif jendela pemeliharaan dalam format YYYY-MM-DD hh:MM. Jendela dibuat di zona waktu yang disediakan untuk penghematan siang hari sesuai dengan zona waktu tersebut. Anda harus mengatur tanggal kedaluwarsa ke tanggal mendatang. Jika tidak disediakan, itu akan diatur ke tanggalwaktu maksimum 9999-12-31 23:59:59.
properties.maintenanceWindow.recurEvery Laju di mana jendela Pemeliharaan diharapkan berulang. Tarif dapat dinyatakan sebagai jadwal harian, mingguan, atau bulanan. Anda dapat memformat jadwal harian sebagai recurEvery: [Frekuensi sebagai bilangan bulat]['Hari']. Jika tidak ada frekuensi yang disediakan, frekuensi defaultnya adalah 1. Contoh jadwal harian adalah recurEvery: Day, recurEvery: 3Days. Jadwal mingguan diformat sebagai recurEvery: [Frekuensi sebagai bilangan bulat]['Minggu'] [Daftar terpisah koma opsional hari kerja Senin-Minggu]. Contoh jadwal mingguan adalah recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. Anda dapat memformat jadwal bulanan sebagai [Frekuensi sebagai bilangan bulat]['Bulan'] [Daftar hari bulan yang dipisahkan koma] atau [Frekuensi sebagai bilangan bulat]['Bulan'] [Minggu Dalam Bulan (Pertama, Kedua, Ketiga, Keempat, Terakhir)] [Mingguan Senin-Minggu]. Contoh jadwal bulanan adalah recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.
properties.maintenanceWindow.startDateTime Tanggal mulai efektif jendela pemeliharaan dalam format YYYY-MM-DD hh:mm. Anda dapat mengatur tanggal mulai ke tanggal saat ini atau tanggal mendatang. Jendela akan dibuat di zona waktu yang disediakan dan disesuaikan dengan penghematan siang hari sesuai dengan zona waktu tersebut.
properties.maintenanceWindow.timeZone Nama zona waktu. Anda dapat memperoleh daftar zona waktu dengan mengeksekusi [System.TimeZoneInfo]:GetSystemTimeZones() di PowerShell. Contoh: Waktu Standar Pasifik, UTC, W. Waktu Standar Eropa, Waktu Standar Korea, Cen. Waktu Standar Australia.
properties.namespace Mendapatkan atau mengatur namespace sumber daya
properties.visibility Mendapatkan atau mengatur visibilitas konfigurasi. Nilai defaultnya adalah 'Kustom'
systemData Metadata Azure Resource Manager yang berisi informasi createBy dan modifiedBy.
tags Mendapatkan atau mengatur tag sumber daya
type Jenis sumber daya

Untuk menentukan permintaan POST, Anda dapat menggunakan panggilan Azure REST API berikut dengan parameter dan nilai yang valid.

PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestAdv2?api-version=2021-09-01-preview

{
  "location": "eastus2euap",
  "properties": {
    "namespace": null,
    "extensionProperties": {
      "InGuestPatchMode" : "User"
    },
    "maintenanceScope": "InGuestPatch",
    "maintenanceWindow": {
      "startDateTime": "2021-08-21 01:18",
      "expirationDateTime": "2221-05-19 03:30",
      "duration": "01:30",
      "timeZone": "India Standard Time",
      "recurEvery": "Day"
    },
    "visibility": "Custom",
    "installPatches": {
      "rebootSetting": "IfRequired",
      "windowsParameters": {
        "classificationsToInclude": [
          "Security",
          "Critical",
          "UpdateRollup"
        ]
      },
      "linuxParameters": {
        "classificationsToInclude": [
          "Other"
        ]
      }
    }
  }
}'

Mengaitkan VM dengan jadwal

Untuk mengaitkan VM dengan jadwal konfigurasi pemeliharaan, tentukan permintaan PUT berikut:

PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

Untuk menentukan permintaan PUT, Anda dapat menggunakan panggilan Azure REST API berikut dengan parameter dan nilai yang valid.

PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview

{
  "properties": {
    "maintenanceConfigurationId": "/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourcegroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestIntermediate2"
  },
  "location": "eastus2euap"
}'

Menghapus komputer dari jadwal

Untuk menghapus komputer dari jadwal, dapatkan semua nama penetapan konfigurasi untuk komputer yang telah Anda buat untuk mengaitkan komputer dengan jadwal saat ini dari Azure Resource Graph seperti yang tercantum:

maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id

Setelah Anda mendapatkan nama dari atas, hapus penetapan konfigurasi dengan mengikuti permintaan DELETE -

DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

Langkah berikutnya

  • Untuk melihat penilaian pembaruan dan log penyebaran yang dihasilkan oleh Update Manager, lihat log kueri.
  • Untuk memecahkan masalah, lihat Memecahkan Masalah Manajer Pembaruan.