Selain menjalankan tugas patch sesuai permintaan, Anda mungkin ingin memiliki tugas patch yang berjalan otomatis berdasarkan jadwal yang ditetapkan dengan membuat deployment patch.
Setiap deployment patch dapat memiliki jadwal satu kali yang menjalankan tugas patch pada tanggal dan waktu tertentu, atau jadwal berulang, yang menjalankan tugas patch pada interval tertentu.
Filter instance
memungkinkan Anda melakukan patch pada banyak instance secara bersamaan. Filter ini diterapkan ke setiap tugas patch individual saat dijalankan. Ini memastikan bahwa perubahan dalam proyek Anda ditangkap secara real-time.
Misalnya, deployment patch dibuat untuk menerapkan patch ke semua instance di zona asia-souteast1-b
mulai dua minggu dari sekarang. Pada saat membuat patch, Anda memiliki 20 instance di zona, tetapi 40 instance baru ditambahkan ke zona beberapa hari kemudian. Karena filter tersebut diterapkan saat patch dimulai, 60 instance akan diupdate. Hal ini memungkinkan Anda menambahkan dan menghapus instance tanpa perlu memperbarui jadwal deployment patch.
Sebelum memulai
- Tinjau kuota OS Config.
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Anda dapat menjadwalkan tugas patch menggunakan Google Cloud Console, Google Cloud CLI, atau REST.
Izin
Pemilik project memiliki akses penuh untuk membuat dan mengelola deployment patch. Untuk semua pengguna lainnya, Anda harus memberikan izin. Anda dapat memberikan salah satu peran terperinci berikut:
roles/osconfig.patchDeploymentAdmin
: Berisi izin untuk membuat, menghapus, mendapatkan, dan mencantumkan deployment patch.roles/osconfig.patchDeploymentViewer
: Berisi izin akses hanya baca guna mendapatkan dan mencantumkan deployment patch.
Misalnya, untuk memberikan akses admin ke deployment patch, jalankan perintah berikut:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Ganti kode berikut:
project-id
: Project ID.user-id
: Nama pengguna Google Workspace pengguna.
Membuat deployment patch
Saat Anda membuat deployment patch, nama deployment patch harus memenuhi persyaratan penamaan berikut:
- Setiap nama dalam suatu project harus unik
- Hanya menggunakan huruf kecil, angka, dan tanda hubung
- Diawali dengan huruf
- Diakhiri dengan angka atau huruf
- Berisi antara 1 hingga 63 karakter
Di Google Cloud CLI dan REST, nama deployment patch disebut sebagai patch-deployment-id
.
Setelah memulai deployment patch, Anda dapat memantau patch menggunakan dasbor Patch. Perlu waktu sekitar 30 menit setelah tugas patch dimulai sebelum data diisi di dasbor.
console
- 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.
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 informasi selengkapnya, lihat apa yang disertakan dalam tugas patch OS.
Di bagian Scheduling, selesaikan aktivitas berikut:
- Pilih jadwal. Anda dapat menjadwalkan tugas patch satu kali atau tugas patch berulang.
- (Opsional) Tetapkan durasi atau masa pemeliharaan.
Di bagian Opsi peluncuran, 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 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.
gcloud
Gunakan perintah os-config patch-deployments create
untuk membuat deployment patch.
gcloud compute os-config patch-deployments create patch-deployment-id \ --file patch-deployment-file
Ganti kode berikut:
patch-deployment-id
: Nama deployment patch Anda.patch-deployment-file
: Jalur ke file YAML atau JSON yang berisi konfigurasi untuk deployment patch.
Contoh file YAML deployment patch
Contoh file YAML berikut dapat digunakan untuk membuat jadwal berulang bagi semua instance di zona us-west2-b
dan us-west2-c
. Jadwal berulang memiliki spesifikasi berikut:
- Tanggal dimulai 9 Januari 2019 pukul 19.30
- Tanggal selesai adalah 9 Januari 2020 pukul 19.30
- Zona waktu yang akan digunakan adalah "America/Los_Angeles"
- Jalankan setiap minggu pada hari Selasa
instanceFilter: zones: - us-west2-b - us-west2-c recurringSchedule: frequency: WEEKLY weekly: dayOfWeek: TUESDAY timeOfDay: hours: 19 minutes: 30 timeZone: id: America/Los_Angeles startTime: '2019-09-01T12:00:00Z' endTime: '2020-09-01T12:00:00Z'
REST
Di API, buat permintaan POST
untuk membuat deployment patch baru.
Anda harus secara eksplisit menentukan semua kolom konfigurasi yang wajib diisi seperti yang dijelaskan dalam dokumentasi API patchDeployments.create
. Misalnya, deployment patch dengan kolom wajib diisi minimal (filter dan jadwal instance) akan terlihat seperti berikut.
Ganti project-id
dengan project ID Anda.
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter // Add one of the following parameters: "recurringSchedule": schedule "oneTimeSchedule": schedule }
Ganti kode berikut:
project-id
: Project ID Anda.instance-filter
: Parameter filter yang Anda inginkan. Untuk mengetahui informasi selengkapnya tentang filter instance, lihat filter instance.schedule
: Berikan parameteroneTimeSchedule
ataurecurringSchedule
yang menjelaskan parameter penjadwalan seperti tanggal, waktu, dan frekuensi untuk menjalankan tugas patch.
Contoh
Contoh 1: Buat jadwal satu kali untuk menjalankan tugas patch pada 10 Januari 2020 pukul 00.00 UTC di semua instance di zona us-west2-b
dan us-west2-c
.
{ "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "oneTimeSchedule": { "executeTime": "2020-01-10T00:00:00Z" } }
Contoh 2: Buat jadwal berulang untuk semua instance di zona us-west2-b
dan us-west2-c
. Jadwal berulang memiliki spesifikasi berikut:
- Tanggal dimulai 9 Januari 2019 pukul 19.30
- Tanggal selesai adalah 9 Januari 2020 pukul 19.30
- Zona waktu yang akan digunakan adalah "America/Los_Angeles"
- Jalankan setiap minggu pada hari Selasa
POST https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments { "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "recurringSchedule":{ "frequency":"WEEKLY", "weekly":{ "dayOfWeek":"TUESDAY" }, "timeOfDay":{ "hours":19, "minutes":30 }, "timeZone":{ "id":"America/Los_Angeles" }, "startTime":"2019-09-01T12:00:00Z", "endTime":"2020-09-01T12:00:00Z" } }
Mencantumkan deployment patch
console
- Di konsol Google Cloud, buka halaman Compute Engine > VM Manager > Patch.
- Pilih tab Deployment terjadwal.
gcloud
Gunakan perintah os-config patch-deployments list
untuk mencantumkan deployment patch.
gcloud compute os-config patch-deployments list
Perintah ini menampilkan semua deployment patch. Outputnya akan terlihat seperti berikut:
NAME LAST_RUN NEXT_RUN FREQUENCY first-deployment 2019-12-18T00:07:00.738Z --- Once: Scheduled for 2019-12-18T00:07:00.000Z my-deployment1 2020-01-05T14:00:00.228Z 2020-01-12T14:00:00Z Recurring - Weekly my-deployment2 --- 2020-01-15T05:30:00Z Recurring - Monthly on specific date(s)
Anda dapat menggunakan lebih banyak tanda untuk membatasi dan memformat penelusuran.
Misalnya, untuk menampilkan 10 deployment patch pertama di halaman ke-2, jalankan perintah berikut. Ganti project-id
dengan project ID Anda.
gcloud compute os-config patch-deployments list --limit 10 --page-size 2
REST
Di API, buat permintaan GET
ke
metode
patchDeployments.list
. Ganti project-id
dengan project ID Anda.
GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
Mendeskripsikan deployment patch
console
- Di konsol Google Cloud, buka halaman Compute Engine > VM Manager > Patch.
- Pilih tab Deployment terjadwal.
- Klik nama deployment yang ingin ditinjau.
gcloud
Gunakan perintah os-config patch-deployments describe
untuk mendeskripsikan deployment patch. Ganti patch-deployment-id
dengan nama untuk deployment patch Anda.
gcloud compute os-config patch-deployments describe patch-deployment-id
REST
Di API, buat permintaan GET
ke
metode patchDeployments.get
.
GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Ganti kode berikut:
project-id
: Project ID Anda.patch-deployment-id
: Nama deployment patch Anda.
Menghapus deployment patch
console
- Di konsol Google Cloud, buka halaman Compute Engine > VM Manager > Patch.
- Pilih tab Deployment terjadwal.
- Klik nama deployment yang ingin dihapus.
- Klik Hapus jadwal ini.
gcloud
Gunakan perintah os-config patch-deployments delete
untuk menghapus deployment patch. Ganti patch-deployment-id
dengan nama untuk deployment patch Anda.
gcloud compute os-config patch-deployments delete patch-deployment-id
REST
Di API, buat permintaan DELETE
ke
metode
patchDeployments.delete
.
DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Ganti kode berikut:
project-id
: Project ID Anda.patch-deployment-id
: Nama deployment patch Anda.
Apa langkah selanjutnya?
- Pelajari Patch lebih lanjut.
- Buat tugas patch.
- Kelola tugas patch.