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.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
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:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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 Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
-
Anda dapat menjadwalkan tugas patch menggunakan konsol Google Cloud, 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 administrator pengguna ke deployment patch, jalankan perintah berikut:
gcloud projects add-iam-policy-bindingproject-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 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.
- 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.
Gunakan perintah os-config patch-deployments create
untuk membuat deployment patch.
gcloud compute os-config patch-deployments createpatch-deployment-id \ --filepatch-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 mulai adalah 9 Januari 2019 pukul 19.30
- Tanggal akhir 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'
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 mulai adalah 9 Januari 2019 pukul 19.30
- Tanggal akhir 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
- Di konsol Google Cloud, buka halaman Compute Engine > VM Manager > Patch.
- Pilih tab Deployment terjadwal.
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
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
Menjelaskan deployment patch
- Di konsol Google Cloud, buka halaman Compute Engine > VM Manager > Patch.
- Pilih tab Deployment terjadwal.
- Klik nama deployment yang ingin ditinjau.
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 describepatch-deployment-id
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
- 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.
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 deletepatch-deployment-id
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.