Anda dapat menggunakan Patch untuk menerapkan patch sistem operasi di seluruh grup instance virtual machine (VM).
Untuk menerapkan patch ke VM, selesaikan langkah-langkah berikut:
Sebelum memulai
- Tinjau kuota OS Config.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Anda dapat men-deploy dan menjalankan tugas patch hanya untuk VM dalam satu project Google Cloud. Anda tidak dapat menjalankan tugas patch di seluruh project Google Cloud, meskipun VM berada di VPC Bersama. Namun, Anda dapat melihat data kepatuhan patch di seluruh project.
- Secara default, Pengelola VM tidak mem-patch VM apa pun yang merupakan bagian dari grup instance terkelola (MIG). Patching VM ini dilaporkan sebagai kegagalan dalam
tugas patch. Anda dapat mengganti perilaku default ini saat membuat tugas patch.
Batasan berikut berlaku saat Anda mem-patch VM yang merupakan bagian dari MIG:
- Ketika MIG memperbaiki VM, MIG akan membuat ulang VM berdasarkan template instance. Tindakan ini dapat mengembalikan VM ke status tidak di-patch.
- Mem-patch VM dapat menyebabkan hasil yang tidak terduga pada MIG yang penskalaan otomatisnya diaktifkan. Autoscaler menghapus VM yang di-patch saat beban menurun dan membuat VM baru, tanpa patch apa pun, menggunakan template instance MIG saat beban meningkat. Misalnya, jika pemakaian CPU rata-rata kurang dari target utilisasi yang Anda tentukan untuk penskalaan otomatis, MIG dapat menghapus beberapa VM yang di-patch selagi melakukan penskalaan.
- Untuk semua VM, siapkan VM Manager.
- Untuk VM Windows, Google merekomendasikan menonaktifkan update otomatis pada VM. Hal ini mengurangi konflik antara update otomatis Windows dan layanan Patch.
roles/osconfig.patchJobExecutor
: Berisi izin untuk menjalankan, membatalkan, mendapatkan, dan mencantumkan tugas patch. Ini juga berisi izin untuk melihat detail instance untuk tugas patch.roles/osconfig.patchJobViewer
: Berisi izin akses hanya baca untuk mendapatkan dan mencantumkan tugas patch. Ini juga berisi izin untuk melihat detail instance untuk tugas patch.project-id
: Project ID.user-id
: Nama pengguna Google Workspace pengguna.- Di konsol Google Cloud, buka halaman Compute Engine > VM Manager > Patch.
- Klik New patch deployment.
Di bagian Target VMs, pilih zona yang berisi VM yang ingin dilakukan patching. Anda juga dapat memilih untuk memilih semua zona.
Setelah memilih zona, Anda dapat memfilter lebih lanjut VM dalam zona tersebut.
Misalnya, untuk mem-patch VM tertentu di zona yang Anda pilih, masukkan filter nama dan label seperti berikut:
- Awalan nama:
test-
- Label:
env=dev
danapp=web
- Awalan nama:
Di bagian Patch configuration, konfigurasikan patch-nya.
- Tentukan Nama untuk patch Anda.
- Pilih update yang diperlukan untuk sistem operasi Anda. Untuk mengetahui informasi selengkapnya, lihat konfigurasi patch.
Di bagian Scheduling, selesaikan aktivitas berikut:
- Pilih jadwal. Untuk segera menjalankan tugas patch, pilih Start now.
- Opsional: Tetapkan durasi atau masa pemeliharaan.
Di bagian Rollout options, konfigurasikan opsi peluncuran patch:
- Pilih apakah akan melakukan patching zona satu per satu atau melakukan patching zona secara serentak.
- Tetapkan anggaran gangguan. Anggaran gangguan adalah jumlah atau persentase VM di zona tempat Anda ingin terganggu pada satu waktu oleh proses patching.
Opsional: Di bagian Advanced options, Anda dapat menyelesaikan tugas-tugas berikut:
- Pilih satu opsi mulai ulang.
- Mengupload skrip pra-patch dan pasca-patch. Untuk mengetahui informasi selengkapnya tentang skrip pra-patch dan pasca-patch, baca Menentukan skrip pra-patch dan pasca-patch.
Klik Deploy.
- Nama instance:
instance-1
- Zona:
us-east1-b
Deskripsi:
patch for instance-1
Anda akan menjalankan perintah berikut:
- Patch harus dijalankan di semua instance dalam project.
- Tugas patch harus habis waktunya dan berhenti setelah 1 jam 30 menit.
- Komputer harus dimulai ulang berdasarkan setelan sistem setelah menginstal update.
- Pada VM yang menjalankan Apt, patching dilakukan menggunakan
apt dist-upgrade
. - Di VM yang menjalankan Windows, hanya terapkan patch untuk update
KB4339284
. - Pada VM yang menjalankan Yum, patching dilakukan menggunakan utilitas
yum update-minimal --security
. project-id
: Project ID Anda.instance-filter
: Parameter filter yang Anda inginkan. Untuk mengetahui informasi selengkapnya tentang filter instance, lihat filter instance.- Memiliki label
env=dev
danapp=web
. - Menggunakan salah satu dari
asia-east1-b
atauasia-east1-c
. - Memiliki awalan
test-
. - Patch harus dijalankan di semua instance dalam project.
- Tugas patch harus habis waktunya dan berhenti setelah 1 jam 30 menit. API mengharuskan waktu dinyatakan dalam detik, jadi tetapkan ini ke 5400 detik.
- Komputer harus dimulai ulang berdasarkan setelan sistem setelah menginstal update.
- Pada VM yang menjalankan Apt, patching dilakukan menggunakan
apt dist-upgrade
. - Di VM yang menjalankan Windows, hanya terapkan patch untuk update
KB4339284
. - Pada VM yang menjalankan Yum, patching dilakukan menggunakan utilitas
yum update-minimal --security
. Filter menurut nama: Membatasi tugas patch ke instance dengan nama tertentu. Nama instance harus ditetapkan menggunakan URI lengkap. Format URI yang didukung mencakup hal berikut:
zones/zone/instances/instance-name
projects/project-id/zones/zone/instances/instance-name
https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name
Filter menurut awalan nama: Membatasi tugas patch ke instance dengan awalan tertentu dalam namanya.
Filter menurut zona: Membatasi tugas patch ke instance di zona tertentu.
Filter menurut label: Membatasi tugas patch ke instance dengan label tertentu.
- Untuk Windows, tentukan klasifikasi patch yang akan diterapkan (misalnya,
Security
danCritical
) atau menargetkan KB tertentu untuk dikecualikan. Untuk mengetahui informasi selengkapnya tentang klasifikasi patch, baca Dokumentasi dukungan Microsoft. Untuk RHEL, Rocky Linux, dan CentOS, sistem dasarnya adalah
yum
.- Untuk patch yang menargetkan VM RHEL dan Rocky Linux, Anda dapat menentukan paket
security
danminimal
. - Untuk VM CentOS, tidak ada metadata
security
di repositoriyum
CentOS. Oleh karena itu, Anda tidak perlu menentukan opsisecurity
saat mengupdate paket keamanan. Jika Anda tidak menentukan paket apa pun, tugas patch akan mengupdate semua paket, termasuk paket dengan update keamanan. - Anda juga dapat mengecualikan paket tertentu. Untuk mengetahui informasi selengkapnya, lihat
halaman man
yum
.
- Untuk patch yang menargetkan VM RHEL dan Rocky Linux, Anda dapat menentukan paket
Untuk Debian & Ubuntu, sistem yang mendasarinya adalah
apt
. Untuk patch yang menargetkan VM ini, Anda dapat menentukandist-upgrade
atau upgrade standar. Anda juga dapat mengecualikan paket tertentu. Untuk mengetahui informasi selengkapnya, lihat halaman man Debian atau halaman man Ubuntu.Untuk SuSE, sistem yang mendasarinya adalah
zypper
, khususnya menggunakan patch zypper. Untuk patch yang menargetkan VM ini, Anda dapat menentukan opsi seperti:with update
: mengupdate semua paket yang tidak tercakup oleh patchwith optional
: patch opsional diperlakukan sesuai kebutuhan- Kategori atau tingkat keparahan patch yang akan diterapkan
Anda juga dapat mengecualikan patch tertentu.
- Ikuti langkah-langkah yang diuraikan di tab konsol untuk membuat tugas patch atau deployment patch.
- Di bagian Patch configuration, pilih parameter untuk tugas patch Anda.
- Buat konfigurasi tambahan yang diperlukan untuk tugas patch atau deployment Anda.
- Klik Deploy.
- Default: Agen memutuskan apakah perlu dimulai ulang dengan memeriksa sinyal yang diketahui di setiap OS. Beberapa mulai ulang dapat terjadi selama patching dan mungkin terjadi sebelum patch diinstal.
- Selalu: Perangkat akan di-reboot setelah update selesai.
- Tidak pernah: Perangkat tidak di-reboot setelah update selesai. Dalam beberapa kasus, ini mungkin berarti bahwa tidak semua patch diterapkan sepenuhnya.
- Skrip pra-patch dijalankan sebelum patching dimulai. Jika mulai ulang sistem diperlukan sebelum patching dimulai, skrip pra-patch akan berjalan sebelum mulai ulang.
- Skrip pasca-patch dijalankan setelah patching diselesaikan. Jika mulai ulang sistem diperlukan sebagai bagian dari patching, skrip pasca-patch akan berjalan setelah mulai ulang.
- Ikuti langkah-langkah yang diuraikan di tab konsol untuk membuat tugas patch atau deployment patch.
- Di bagian Advanced options, untuk bagian pra-patch dan pasca-patch, klik Browse. Halaman objek Cloud Storage akan ditampilkan.
- Dari halaman objek Cloud Storage, pilih bucket Cloud Storage yang berisi skrip, lalu pilih objek atau file Cloud Storage.
- Buat konfigurasi tambahan yang diperlukan untuk tugas patch atau deployment Anda.
- Klik Deploy.
- Operasi patching gagal saat menerapkan patch
- Operasi patching gagal saat menjalankan langkah sebelum atau sesudah patch
- Operasi patching gagal merespons dengan notifikasi berhasil sebelum waktu habis
- Ikuti langkah-langkah yang diuraikan di tab konsol untuk membuat tugas patch atau deployment patch.
- Di bagian Rollout options, konfigurasikan opsi peluncuran:
- Pilih apakah akan melakukan patching zona satu per satu atau melakukan patching semua zona secara serentak.
- Tetapkan anggaran gangguan. Anggaran gangguan adalah jumlah atau persentase VM di zona tempat Anda ingin terganggu pada satu waktu oleh proses patching.
- Buat konfigurasi tambahan yang diperlukan untuk tugas patch atau deployment Anda.
- Klik Deploy.
- Melakukan patching pada semua VM di project Anda
- Melakukan patching pada zona VM berdasarkan zona
- Memastikan bahwa tidak lebih dari 10 VM di zona yang sama yang terganggu pada waktu tertentu
- Melakukan patching pada semua VM di project Anda
- Melakukan patching pada zona secara serentak
- Memastikan bahwa tidak lebih dari 50 persen VM di zona yang sama akan terganggu pada waktu tertentu
- Melakukan patching pada semua VM di zona
us-central1-a
,us-central1-c
, danus-central1-f
- Melakukan patching pada zona secara serentak
- Memastikan bahwa tidak lebih dari 25 persen instance di zona yang sama yang terganggu pada waktu tertentu
- Di menu Windows Start, pilih Settings > Update & Security > Windows Update.
- Di bagian Advanced options, aktifkan Receive updates for other Microsoft products when you update Windows.
Tinjau detail instance untuk tugas patch yang terpengaruh. Hal ini membantu Anda mengidentifikasi instance mana yang gagal atau pada status apa instance tersebut macet. Daftar detail instance juga berisi pesan error singkat untuk setiap instance.
Jika patch gagal dengan status
NO_AGENT_DETECTED
atauTIMED_OUT
, biasanya ini berarti layanan mengirimkan permintaan kepada agen untuk memulai patch, tetapi tidak pernah mendapatkan balasan dari agen tersebut. Tinjau kemungkinan penyebab dan perbaikan berikut:- Instance tidak berjalan. Untuk memperbaikinya, mulai instance VM.
- Verifikasi penyiapan menggunakan checklist verifikasi.
- Setelan jaringan pada jaringan VPC atau instance tidak mengizinkan agen OS Config untuk berkomunikasi dengan OS Config API. Untuk memperbaikinya, periksa setelan jaringan.
Jika detail instance tidak memberikan informasi yang cukup, tinjau log Cloud Logging atau konsol port serial. Agen OS Config menulis entri log-nya ke kedua lokasi. Di Cloud Logging, Anda dapat memfilter menggunakan ID tugas patch untuk melihat semua entri log yang terkait dengan tugas patch tersebut. Anda juga dapat mengaktifkan logging debug dengan menetapkan nilai metadata
osconfig-log-level=debug
di tingkat project VM atau Google Cloud.- Pelajari Patch lebih lanjut.
- Kelola tugas patch.
- Jadwalkan tugas patch.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Batasan
Sistem operasi yang didukung
Untuk mengetahui daftar lengkap sistem operasi dan versi yang mendukung Patch, lihat Detail sistem operasi.
Menyiapkan VM
Untuk menggunakan fitur Patch, selesaikan langkah-langkah berikut:
Izin
Pemilik project Google Cloud memiliki akses penuh untuk menjalankan dan mengelola tugas patch. Untuk semua pengguna lainnya, Anda harus memberikan izin. Anda dapat memberikan salah satu peran terperinci berikut:
Misalnya, untuk memberikan akses kepada pengguna guna menjalankan tugas patch, gunakan perintah berikut:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchJobExecutor
Ganti kode berikut:
Menjalankan tugas patch
Anda dapat menjalankan tugas patch menggunakan konsol Google Cloud, Google Cloud CLI, atau REST.
Saat Anda menjalankan tugas patch, patching VM akan dimulai secara bersamaan pada semua instance yang ditentukan oleh filter instance.
Setelah memulai tugas patch, Anda dapat memantau patch menggunakan Dasbor Patch. Perlu waktu sekitar 30 menit setelah tugas patch dimulai sebelum data diisi di dasbor.
Konsol
gcloud
Gunakan perintah
os-config patch-jobs execute
untuk menjalankan tugas patch. Gantiinstance-filter
dengan filter instance yang Anda inginkan. Untuk mengetahui informasi selengkapnya tentang filter instance, lihat filter instance.gcloud compute os-config patch-jobs execute instance-filter
Untuk mengetahui informasi selengkapnya tentang update yang diterapkan, lihat apa yang disertakan dalam tugas patch OS. Untuk menyesuaikan update, gunakan flag opsional.
Contoh
Contoh 1 Untuk menjalankan tugas patch dengan konfigurasi berikut:
gcloud compute os-config patch-jobs execute \ --instance-filter-names="zones/us-east1-b/instances/instance-1" \ --description "patch for instance-1"
Contoh 2 Misalnya Anda ingin menjalankan tugas patch secara asinkron dengan konfigurasi berikut:
Anda akan menjalankan perintah berikut:
gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --duration="1h30m" --reboot-config="DEFAULT" \ --apt-dist --windows-exclusive-patches=4339284 \ --yum-minimal --yum-security \ --async
REST
Di API, buat permintaan
POST
untuk menjalankan tugas patch baru. Anda harus secara eksplisit menentukan semua kolom konfigurasi yang wajib diisi seperti yang dijelaskan dalam dokumentasi APIpatchJobs.execute
.Untuk mengetahui informasi selengkapnya tentang update yang diterapkan, lihat apa yang disertakan dalam tugas patch OS. Untuk menyesuaikan pembaruan, gunakan parameter
PatchConfig
.Misalnya, tugas patch yang hanya berisi kolom wajib diisi akan terlihat seperti berikut.
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter }
Ganti kode berikut:
Contoh
Contoh 1 Misalnya, Anda ingin menjalankan tugas patch pada instance bernama
instance1
yang terletak dius-east1-b
. Dalam contoh ini, kami menambahkan deskripsi dan menentukan bahwa tugas berjalan selama 1 jam 30 menit. Gantiproject-id
dengan project ID Anda.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "description":"patch instance1 in us-east1-b", "duration":"5400s", "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }
Contoh 2 Tugas patch berikut memilih VM yang memiliki konfigurasi berikut:
Dalam perintah berikut, ganti
project-id
dengan project ID Anda.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } } ], "instanceNamePrefixes":[ "test-" ], "zones":[ "asia-east1-b", "asia-east1-c" ] } }
Contoh 3
Misalnya Anda ingin menjalankan tugas patch dengan konfigurasi berikut:
Anda akan membuat permintaan berikut:
Dalam perintah berikut, ganti
project-id
dengan project ID Anda.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "duration":"5400s", "instanceFilter":{ "all":true }, "patchConfig":{ "rebootConfig":"DEFAULT", "apt":{ "type":"DIST" }, "yum":{ "security":true, "minimal":true }, "windowsUpdate":{ "exclusivePatches":"4339284" } } }
Filter instance
Anda dapat menentukan instance yang akan disertakan dalam tugas patch dengan menggunakan filter. Filter berikut didukung untuk tugas patch:
Anda juga dapat menjalankan tugas patch pada semua instance di project Google Cloud dengan menetapkan kolom
all
diinstanceFilter
ketrue
. Untuk mengetahui informasi selengkapnya, lihat contoh filter instance.Contoh filter instance
Skenario filter gcloud Filter API Semua instance dalam project Google Cloud --instance-filter-all
{ "instanceFilter":{ "all":"true" } }
Instance dengan nama instance1
yang terletak di zonaus-east1-b
.--instance-filter-names="zones/us-east1-b/instances/instance1"
{ "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }
Instance dengan awalan app-
--instance-filter-name-prefixes="app-"
{ "instanceFilter":{ "instanceNamePrefixes":[ "app-" ] } }
Instance dalam zona us-east1-b
atauus-east1-c
--instance-filter-zones="us-east1-b","us-east1-c"
{ "instanceFilter":{ "zones":[ "us-east1-b", "us-east1-c" ] } }
Instance dengan label kombinasi env=dev
danapp=web
serta instance denganenv=dev
danapp=worker
.--instance-filter-group-labels="env=dev,app=web" --instance-filter-group-labels="env=dev,app=worker"
{ "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } }, { "labels":{ "env":"dev", "app":"worker" } } ] } }
Menggabungkan filter instance
Filter instance juga dapat digabungkan. Misalnya, untuk menjalankan tugas patch untuk instance yang memiliki awalan
test-
, yang terletak di zonaus-east1-c
, dan yang memiliki labelenv=dev
danapp=web
, jalankan perintah berikut:gcloud compute os-config patch-jobs execute \ --instance-filter-name-prefixes="test-" \ --instance-filter-zones="us-east1-c" \ --instance-filter-group-labels="env=prod,app=web"
Konfigurasi patch
Saat menjalankan tugas patch, Anda dapat menentukan parameter untuk mengontrol patch yang diterapkan pada VM. Parameter konfigurasi patch bergantung pada platform dan sering kali diteruskan ke alat update sistem yang mendasarinya. Patch sebenarnya berasal dari repositori paket (Linux) atau server Windows Update (Windows) yang dikonfigurasi di VM.
Anda dapat menentukan konfigurasi patch berikut untuk VM Anda:
Secara opsional, untuk semua sistem operasi yang didukung, Anda dapat memilih untuk menginstal patch yang disetujui hanya dengan menentukan update ini. Dengan begitu, Anda dapat memasukkan daftar paket atau patch yang disetujui. Saat Anda memilih patch yang disetujui ini, hanya paket atau patch yang disetujui yang diinstal. Semua parameter konfigurasi patch lainnya dilewati selama update.
Contoh
Konsol
gcloud
Misalnya, untuk menjalankan tugas patch pada semua instance di zona
northamerica-northeast1-a
dengan konfigurasi patch khusus untuk berbagai sistem operasi, jalankan perintahgcloud compute os-config patch-jobs execute
:gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --apt-dist \ --yum-security \ --yum-minimal \ --zypper-categories=security \ --windows-classifications=critical,security \ --reboot-config=default
Untuk mempelajari lebih lanjut opsi yang didukung, jalankan perintah berikut:
gcloud compute os-config patch-jobs execute --help
REST
Misalnya, untuk menjalankan tugas patch pada semua instance di zona
northamerica-northeast1-a
dengan konfigurasi patch khusus untuk berbagai sistem operasi, jalankan perintah berikut:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "apt": { "type": "dist-upgrade" }, "yum": { "security": true, "minimal": true }, "zypper": { "categories": ["security"] }, "windowsUpdate": { "classifications": ["CRITICAL", "SECURITY"] }, "rebootConfig": "DEFAULT" } }
Untuk mempelajari lebih lanjut parameter yang didukung, tinjau dokumentasi
PatchConfig API
.Masa pemeliharaan
Masa pemeliharaan adalah total durasi waktu yang Anda izinkan untuk menjalankan tugas patch. Waktu tunggu tugas patch akan habis jika tidak selesai dalam periode pemeliharaan yang ditentukan.
Misalnya, jika Anda menetapkan masa pemeliharaan
60 minutes
, tidak ada tugas patch baru yang akan dimulai 60 menit setelah waktu mulai. Beberapa proses seperti mendownload file atau memulai ulang mungkin terjadi di luar masa pemeliharaan ini, tetapi tidak ada tugas patch baru yang akan dimulai.Opsi mulai ulang
Saat menjalankan tugas patch, Anda dapat menentukan opsi mulai ulang untuk patch tersebut. Tersedia opsi-opsi berikut:
Skrip pra-patch dan pasca-patch
Saat menjalankan tugas patch, Anda dapat menentukan skrip yang akan dijalankan sebagai bagian dari proses patch. Skrip ini berguna untuk melakukan tugas-tugas seperti menonaktifkan aplikasi dan menjalankan health check.
Tugas patch menerima satu skrip pra-patch dan satu skrip pasca-patch untuk Linux, serta satu skrip pra-patch dan satu skrip pasca-patch untuk Windows. Skrip Linux dan Windows harus disediakan menggunakan flag, parameter, atau bagian yang sesuai saat ditentukan dari Google Cloud CLI, REST, atau konsol Google Cloud. Skrip Linux hanya berjalan di VM Linux dan skrip Windows hanya berjalan di VM Windows.
File skrip ini dapat disimpan di VM atau di bucket Cloud Storage berversi. Jika objek Cloud Storage Anda tidak dapat dibaca oleh publik, pastikanakun layanan Compute Engine default untuk project Google Cloud memiliki izin IAM yang diperlukan untuk membaca objek Cloud Storage. Untuk memastikan Anda memiliki izin yang tepat, periksa setelan izin di objek Cloud Storage.
Jika Anda ingin menggunakan bucket Cloud Storage untuk menyimpan skrip, buat bucket Cloud Storage dan upload skrip Anda ke bucket tersebut.
Contoh
Konsol
gcloud
Misalnya, untuk menjalankan tugas patch pada semua instance di zona
northamerica-northeast1-a
dengan skrip pra- dan pasca-patch untuk instance Linux dan Windows, jalankan perintah berikut:gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --async \ --pre-patch-linux-executable="/tmp/pre_patch_script.sh" \ --post-patch-linux-executable="gs://my-patch-scripts/linux/post_patch_script#1523477886880" \ --pre-patch-windows-executable="C:\\Users\\user\\pre-patch-script.cmd" \ --post-patch-windows-executable="gs://my-patch-scripts/windows/post_patch_script.ps1#135920493447"
Untuk mempelajari lebih lanjut format file yang dapat diterima, jalankan perintah berikut:
gcloud compute os-config patch-jobs execute --help
REST
Misalnya, untuk menjalankan tugas patch pada semua instance di zona
northamerica-northeast1-a
dengan skrip pra- dan pasca-patch untuk instance Linux dan Windows, jalankan perintah berikut:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "preStep":{ "linuxExecStepConfig":{ "localPath":"/tmp/pre_patch_script.sh" }, "windowsExecStepConfig":{ "interpreter":"SHELL", "localPath":"C:\\Users\\user\\pre-patch-script.cmd" } }, "postStep":{ "linuxExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"1523477886880", "object":"linux/post_patch_script" } }, "windowsExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"135920493447", "object":"windows/post_patch_script.ps1" }, "interpreter":"POWERSHELL" } } } }
Untuk mempelajari lebih lanjut format file yang dapat diterima, tinjau bagian
ExecStepConfig
dalam dokumentasi APIPatchConfig
.Opsi peluncuran patch
Anda dapat memilih untuk mem-patch VM satu zona pada satu waktu (zona berdasarkan zona), atau mem-patch semua zona sekaligus (zona serentak).
Selain menentukan pilihan untuk peluncuran zona, Anda juga dapat menentukan anggaran gangguan zona untuk VM Anda.
Anggaran gangguan zona
Anggaran gangguan adalah jumlah (atau persentase) maksimum VM per zona untuk mengalami gangguan pada waktu tertentu.
Apa yang dianggap sebagai VM yang terganggu?
Selama patching, VM dianggap terganggu sejak agen Konfigurasi OS diberi tahu untuk dimulai hingga patching selesai. Waktu gangguan ini mencakup waktu untuk menyelesaikan mulai ulang dan langkah pasca-patch.
Sebuah VM juga dihitung sebagai bagian dari anggaran gangguan jika memenuhi salah satu kondisi berikut:
Cara kerja anggaran gangguan
Untuk peluncuran zona demi zona, jika anggaran gangguan dalam suatu zona terlampaui, tugas patch akan berhenti. Hal ini terjadi karena melanjutkan ke zona berikutnya memerlukan penyelesaian proses patch di zona sebelumnya.
Misalnya, jika anggaran gangguan memiliki nilai 10, dan 8 VM gagal melakukan patch di zona saat ini, tugas patch akan terus melakukan patching 2 VM pada satu waktu hingga zona tersebut selesai. Jika zona tersebut berhasil diselesaikan, patch akan dimulai dengan 10 VM pada satu waktu di zona berikutnya. Jika 10 VM di zona berikutnya gagal dilakukan patching, tugas patch akan berhenti.
Contoh
Konsol
gcloud
Contoh 1
Contoh ini menunjukkan perintah
os-config patch-jobs execute
untuk menjalankan tugas patch dengan spesifikasi berikut:gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=zone-by-zone \ --rollout-disruption-budget=10
Contoh 2
Contoh ini menunjukkan perintah
os-config patch-jobs execute
untuk menjalankan tugas patch dengan spesifikasi berikut:gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=concurrent-zones \ --rollout-disruption-budget-percent=50
REST
Contoh ini menunjukkan metode
patchJobs.execute
untuk menjalankan tugas patch dengan spesifikasi berikut:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "us-central1-a", "us-central1-c", "us-central1-f" ] }, "rollout": { "disruptionBudget": { "percent": 25 }, "mode": "CONCURRENT_ZONES" } }
Untuk mempelajari peluncuran patch lebih lanjut, tinjau dokumentasi API
PatchRollout
.Mengaktifkan patching software Microsoft pada VM Windows
Saat Anda menjalankan tugas patch pada VM Windows, secara default, Patch hanya menerapkan patch untuk sistem operasi Windows.
Anda dapat menerapkan update untuk software Microsoft seperti Microsoft SQL Server, SharePoint Server, atau framework .NET yang berjalan pada VM Windows saat Anda menjalankan tugas patch. Secara default, patching aplikasi ini dinonaktifkan untuk menghindari gangguan layanan dan untuk memisahkan update yang direncanakan untuk software tersebut. Untuk mengaktifkan patching perangkat lunak Microsoft secara otomatis, Anda dapat menggunakan Windows UI atau PowerShell.
UI Windows
PowerShell
$service_manager = New-Object -ComObject 'Microsoft.Update.ServiceManager' $service_manager.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")
Melakukan debuging tugas patch
Jika patch gagal, Anda dapat menggunakan langkah-langkah berikut untuk membantu menemukan dan menyelesaikan masalah.
Apa langkah selanjutnya?
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-11-27 UTC.
-