Menentukan masa pemeliharaan

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara menentukan masa pemeliharaan untuk lingkungan Anda.

Tentang masa pemeliharaan

Masa pemeliharaan adalah periode waktu di mana Anda mengizinkan Cloud Composer untuk melakukan operasi pemeliharaan. Sebagai contoh, Anda dapat memastikan bahwa pelaksanaan tugas penting Anda tidak terganggu oleh yang menentukan masa pemeliharaan di luar waktu jadwal DAG.

Dengan masa pemeliharaan, Anda memiliki kendali atas periode waktu pemeliharaan dapat dilakukan untuk lingkungan Anda:

  • Jika Anda menentukan masa pemeliharaan khusus untuk lingkungan Anda, Cloud Composer melakukan pemeliharaan selama periode yang ditentukan ini.

  • Jika Anda tidak menentukan masa pemeliharaan khusus untuk lingkungan Anda atau menentukan nilai kosong, lalu Cloud Composer akan melakukan pemeliharaan selama masa pemeliharaan {i>default<i}.

Yang terjadi selama masa pemeliharaan

Bila Anda menentukan masa pemeliharaan, Anda menyediakan setidaknya 12 jam waktu satu minggu untuk operasi pemeliharaan:

  • Lingkungan Anda tetap tersedia selama masa pemeliharaan. Beberapa komponen lingkungan Anda mungkin untuk sementara tidak tersedia saat pemeliharaan operasional bisnis tetap berjalan.

  • Diperlukan waktu 12 jam agar Cloud Composer memiliki waktu yang cukup untuk menjadwalkan dan melakukan semua operasi pemeliharaan. Hal ini tidak berarti bahwa operasi pemeliharaan membutuhkan waktu 12 jam penuh atau bahkan terjadi setiap minggu.

Anda masih dapat menjalankan DAG selama masa pemeliharaan, selama dapat diterima bahwa beberapa tugas dapat terganggu dan dicoba lagi. Jika Anda menjalankan DAG selama masa pemeliharaan, pastikan Anda mengaktifkan percobaan ulang tugas. Anda dapat mengonfigurasi percobaan ulang tugas di tingkat konfigurasi Airflow, DAG, atau tugas.

Operasi pemeliharaan memiliki pengaruh berikut terhadap lingkungan Anda:

  • UI Airflow mungkin tidak tersedia untuk sementara.

  • Cloud Composer mungkin melakukan operasi upgrade infrastruktur otomatis jika upgrade tersedia.

  • Mengubah beberapa parameter lingkungan atau mungkin tidak dapat dilakukan untuk sementara.

  • Beberapa tugas Airflow dapat terganggu. Setelah operasi pemeliharaan selesai, Airflow menjadwalkan percobaan ulang untuk tugas ini (jika tidak dikonfigurasi jika tidak).

Masa pemeliharaan default

Masa pemeliharaan default di Cloud Composer 3 ditentukan sebagai berikut cara:

  • Semua waktu menggunakan zona waktu lokal wilayah tempat lingkungan Anda berada ditemukan, namun dengan waktu musim panas diabaikan.
  • Waktu pemeliharaan dimulai dari hari Selasa, Rabu, Kamis, dan Jumat 00:00:00 hingga 02:00:00.
  • Masa pemeliharaan untuk hari Sabtu, Minggu, dan Senin dimulai dari pukul 00:00:00 ke 04:00:00.

Cara menggunakan masa pemeliharaan

Operasi pemeliharaan dapat memengaruhi eksekusi DAG dan Airflow Anda tugas, jadi kami sarankan Anda untuk melakukan hal berikut:

  1. Tentukan masa pemeliharaan untuk lingkungan Cloud Composer.

  2. Jadwalkan DAG yang berjalan di luar masa pemeliharaan yang ditentukan menggunakan Parameter start_date dan schedule_interval di DAG.

Menentukan masa pemeliharaan untuk lingkungan baru

Anda dapat menentukan masa pemeliharaan saat membuat lingkungan. Untuk selengkapnya informasi, lihat Membuat lingkungan.

Menentukan masa pemeliharaan untuk lingkungan yang ada

Konsol

Untuk menentukan atau mengubah masa pemeliharaan untuk lingkungan yang ada, perbarui lingkungan:

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pilih lingkungan Anda.

  3. Buka tab Konfigurasi lingkungan.

  4. Di samping entri Pemeliharaan periode, klik Edit.

  5. Di dialog Pemeliharaan jendela, pilih Kotak centang Setel waktu kustom untuk masa pemeliharaan.

  6. Tetapkan Waktu mulai, Zona Waktu, Hari, dan Durasi, sehingga Waktu gabungan untuk jadwal yang ditentukan setidaknya 12 jam dalam 7 hari periode bergulir. Misalnya, jangka waktu 4 jam setiap hari Senin, Rabu dan Jumat memberikan durasi waktu yang diperlukan.

  7. Klik Simpan dan tunggu hingga lingkungan Anda diperbarui.

gcloud

Saat Anda memperbarui lingkungan, argumen berikut akan menentukan parameter masa pemeliharaan:

  • --maintenance-window-start menetapkan waktu mulai pemeliharaan jendela.
  • --maintenance-window-end menetapkan waktu berakhir masa pemeliharaan.
  • --maintenance-window-recurrence menyetel pengulangan periode pemeliharaan.
gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • DATETIME_START dengan tanggal dan waktu mulai dalam format input tanggal/waktu. Hanya waktu tertentu dalam sehari akan digunakan, tanggal yang ditentukan akan diabaikan.
  • DATETIME_END dengan tanggal dan waktu berakhir dalam kolom format input tanggal/waktu. Hanya waktu tertentu dalam sehari akan digunakan, tanggal yang ditentukan akan diabaikan. Tujuan tanggal dan waktu yang ditentukan harus setelah tanggal mulai.
  • MAINTENANCE_RECURRENCE dengan RFC 5545 RRules untuk masa pemeliharaan pengulangan. Cloud Composer mendukung dua format:

  • Format FREQ=DAILY menentukan pengulangan harian.

  • Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA menentukan pengulangan pada hari yang dipilih.

Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. 1 Januari 2023 tanggal akan diabaikan.

gcloud composer environments update example-environment \
  --location us-central1 \
  --maintenance-window-start '2023-01-01T01:00:00Z' \
  --maintenance-window-end '2023-01-01T07:00:00Z' \
  --maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SU,WE,SA'

API

  1. Buat permintaan environments.patch API.

  2. Dalam permintaan ini:

    1. Di parameter updateMask, tentukan mask config.maintenanceWindow.

    2. Dalam isi permintaan, tentukan parameter untuk masa pemeliharaan.

{
  "config": {
    "maintenanceWindow": {
      "startTime": "DATETIME_START",
      "endTime": "DATETIME_END",
      "recurrence": "MAINTENANCE_RECURRENCE"
    }
  }
}

Ganti:

  • DATETIME_START dengan tanggal dan waktu mulai dalam format input tanggal/waktu. Hanya waktu yang ditentukan untuk hari digunakan, tanggal yang ditentukan akan diabaikan.
  • DATETIME_END dengan tanggal dan waktu berakhir dalam kolom format input tanggal/waktu. Hanya waktu yang ditentukan untuk hari digunakan, tanggal yang ditentukan akan diabaikan. Tanggal dan waktu harus setelah tanggal mulai.
  • MAINTENANCE_RECURRENCE dengan RFC 5545 RRules untuk masa pemeliharaan pengulangan. Cloud Composer mendukung dua format:

    • Format FREQ=DAILY menentukan pengulangan harian.
    • Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA menentukan pengulangan pada hari yang dipilih.

Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, Minggu. 1 Januari 2023 tanggal akan diabaikan.

  // PATCH https://composer.googleapis.com/v1/projects/example-project/
  // locations/us-central1/environments/example-environment?updateMask=
  // config.maintenanceWindow

  {
    "config": {
      "maintenanceWindow": {
        "startTime": "2023-01-01T01:00:00Z",
        "endTime": "2023-01-01T07:00:00Z",
        "recurrence": "FREQ=WEEKLY;BYDAY=SU,WE,SA"
      }
    }
  }

Terraform

Blok maintenance_window menentukan masa pemeliharaan untuk lingkungan:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    maintenance_window {
      start_time = "DATETIME_START"
      end_time = "DATETIME_END"
      recurrence = "MAINTENANCE_RECURRENCE"
    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • DATETIME_START dengan tanggal dan waktu mulai dalam format input tanggal/waktu. Hanya waktu yang ditentukan untuk hari digunakan, tanggal yang ditentukan akan diabaikan.
  • DATETIME_END dengan tanggal dan waktu berakhir dalam kolom format input tanggal/waktu. Hanya waktu yang ditentukan untuk hari digunakan, tanggal yang ditentukan akan diabaikan. Tanggal dan waktu harus setelah tanggal mulai.
  • MAINTENANCE_RECURRENCE dengan RFC 5545 RRules untuk masa pemeliharaan pengulangan. Cloud Composer mendukung dua format:

    • Format FREQ=DAILY menentukan pengulangan harian.
    • Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA menentukan pengulangan pada hari yang dipilih.

Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. 1 Januari 2023 tanggal akan diabaikan.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    maintenance_window {
      start_time = "2023-01-01T01:00:00Z"
      end_time = "2023-01-01T07:00:00Z"
      recurrence = "FREQ=WEEKLY;BYDAY=SU,WE,SA"
    }
  }
}

Langkah selanjutnya