Rollback, peluncuran bertahap, dan migrasi traffic

Dengan Cloud Run, Anda dapat menentukan revisi mana yang akan menerima traffic dan menentukan persentase traffic yang diterima oleh revisi. Dengan fitur ini, Anda dapat melakukan rollback ke revisi sebelumnya, meluncurkan revisi secara bertahap, dan membagi traffic antara beberapa revisi. Halaman ini menjelaskan cara menggunakan fitur ini untuk mengelola traffic ke revisi Cloud Run Anda.

Perhatikan bahwa penyesuaian pemilihan rute traffic tidak dapat terjadi secara instan. Jika Anda mengubah traffic untuk revisi, semua permintaan yang saat ini sedang diproses akan tetap berlanjut hingga selesai. Permintaan yang sedang berlangsung tidak akan dihapus dan dapat dialihkan ke revisi baru atau revisi sebelumnya selama periode transisi.

Jika Anda membagi traffic antara beberapa revisi dengan afinitas sesi yang diaktifkan, lihat Afinitas sesi dan pembagian traffic untuk mengetahui detail tentang pengaruh afinitas sesi terhadap pemisahan traffic.

Roll back ke revisi sebelumnya

Untuk melakukan roll back ke revisi sebelumnya:

Konsol

  1. Buka Cloud Run

  2. Temukan layanan dalam daftar layanan, lalu klik pada layanan tersebut.

  3. Klik tab Revisi untuk menampilkan daftar revisi terbaru untuk layanan tersebut.

  4. Dalam daftar revisi, klik ikon elipsis di sebelah kanan revisi yang sedang Anda roll back:

    kelola-traffic

  5. Klik Kelola Traffic untuk menampilkan formulir kelola traffic:

    1. Pilih revisi sebelumnya yang ingin Anda roll back dalam daftar dropdown.
    2. Setel persentase traffic pada revisi sebelumnya menjadi 100.
    3. Setel persentase revisi yang disajikan saat ini menjadi 0.
    4. Klik Save.

Command line

Gunakan perintah berikut:

gcloud run services update-traffic SERVICE --to-revisions REVISION=100

  • Ganti SERVICE dengan nama layanan.
  • Ganti REVISION dengan nama revisi yang sedang Anda roll back.

YAML

Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan perintah gcloud run services describe --format export, yang memberikan hasil yang telah diolah dalam format YAML. Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace. Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.

  1. Untuk melihat dan mendownload konfigurasi:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Di bawah atribut spec, temukan dan perbarui atribut traffic menjadi seperti berikut:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION
        percent: 100
    

    Ganti

    • REVISION dengan nama revisi yang sedang Anda roll back.
  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml
  4. Tunggu hingga pembaruan selesai: Anda akan melihat pesan bahwa revisi yang Anda roll back telah di-deploy dan sedang menyalurkan traffic 0 persen.

Terraform

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Tambahkan berikut ini ke file .tf:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {}

  traffic {
    percent = 100
    # This revision needs to already exist
    revision = "cloudrun-srv-green"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"

  }
}

Peluncuran revisi secara bertahap

Untuk meluncurkan revisi baru secara bertahap:

Konsol

  1. Buka Cloud Run

  2. Temukan layanan dalam daftar layanan, lalu klik pada layanan tersebut.

  3. Klik Deploy Revisi Baru.

  4. Isi formulir deploy sesuai kebutuhan, tetapi pastikan kotak centangnya berlabel Segera sajikan revisi ini TIDAK DIPERIKSA.

  5. Klik Deploy.

  6. Klik Kelola Traffic.

  7. Revisi baru dicantumkan, tetapi dengan setelan persentase 0: Saat ini tidak menyalurkan traffic dari mana pun. Di dalam formulir:

    1. Atur persentase yang diinginkan, misalnya, 5. Perhatikan bahwa persentase versi saat ini yang disajikan akan otomatis dikurangi dengan jumlah yang sama.
    2. Klik Save.
    3. Ulangi langkah-langkah Kelola Traffic ini tetapi dengan persentase yang diubah, meningkatkan persentase sesuai yang diperlukan untuk revisi baru. Anda tidak perlu men-deploy ulang untuk mengubah persentase traffic.

Command line

  1. Deploy revisi yang ingin Anda luncurkan secara bertahap, dengan menyetelnya terlebih dahulu agar tidak menerima traffic:

    gcloud run deploy --image IMAGE --no-traffic

    Ganti IMAGE dengan gambar yang sedang Anda deploy.

  2. Tentukan persentase traffic yang ingin ditangani oleh revisi baru, misalnya, 5 persen:

    gcloud run services update-traffic SERVICE --to-revisions REVISION=PERCENTAGE
    • Ganti SERVICE dengan nama layanan.
    • Ganti REVISION dengan nama revisi yang Anda luncurkan secara bertahap. Untuk menentukan revisi terbaru, Anda dapat menggunakan LATEST, misalnya, LATEST=5.
    • Ganti PERCENTAGE dengan persentase traffic yang ingin Anda kirim ke revisi baru, misalnya, 5 untuk mengirim 5% ke traffic.
  3. Setelah performa revisi memuaskan, ulangi langkah sebelumnya update-traffic, tetapi tingkatkan nilai persentase sesuai keinginan.

YAML

Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan perintah gcloud run services describe --format export, yang memberikan hasil yang telah diolah dalam format YAML. Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace. Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.

  1. Untuk melihat dan mendownload konfigurasi:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Buat perubahan konfigurasi yang diinginkan pada layanan, lalu tentukan nama revisi yang Anda inginkan untuk revisi baru:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    template:
      metadata:
        annotations:
          ...
        name: REVISION-NAME
    

    Ganti

    • REVISION-NAME dengan nama yang Anda inginkan untuk revisi baru.
  3. Di bawah atribut spec, temukan dan perbarui atribut traffic sehingga revisi baru hanya menyalurkan traffic dalam jumlah kecil:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION-NEW
        percent: PERCENT-NEW
      - revisionName: REVISION-FORMER
        percent: PERCENT-FORMER
    

    Perhatikan bahwa persentase harus berjumlah 100. Ganti

    • REVISION-NEW dengan nama revisi yang Anda luncurkan secara bertahap.
    • REVISION-FORMER dengan nama revisi yang saat ini disajikan.
    • PERCENT-NEW dengan persentase traffic yang ingin Anda kirim ke revisi baru, misalnya, gunakan 10 untuk mengirim 10% dari traffic ke revisi tersebut.
    • PERCENT-FORMER dengan persentase traffic yang ingin Anda kirim ke revisi lama
  4. Tunggu hingga pembaruan selesai: Anda akan melihat pesan bahwa revisi baru yang Anda luncurkan secara bertahap telah di-deploy dan sedang menyalurkan nilai persentase traffic yang Anda gunakan.

Terraform

Tambahkan kode berikut ke file .tf dan perbarui persentase traffic dari revisi sebelumnya ke revisi terbaru secara bertahap. Perhatikan bahwa setiap perubahan traffic akan memerlukan terraform apply lain untuk dijalankan.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {
    containers {
      # Image or image tag must be different from previous revision
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
  }

  # Define the traffic split for each revision
  # https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service#traffic
  traffic {
    percent = 100
    # This revision needs to already exist
    revision = "cloudrun-srv-green"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }

  traffic {
    # Deploy new revision with 0% traffic
    percent = 0
    type    = "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST"
  }
}

Terapkan perubahan dengan memasukkan terraform apply.

Memisahkan traffic di antara beberapa revisi

Untuk memisahkan traffic antara dua revisi atau lebih:

Konsol

  1. Buka Cloud Run

  2. Temukan layanan dalam daftar layanan, lalu klik pada layanan tersebut.

  3. Klik Kelola Traffic.

  4. Revisi baru yang saat ini disajikan telah tercantum. Di dalam formulir:

    1. Setel persentase revisi yang saat ini ditampilkan ke bagian yang diinginkan.
    2. Pilih salah satu revisi sebelumnya menggunakan daftar dropdown dan atur bagian persentase yang diinginkan.
    3. Untuk membagi traffic antara revisi satu dan lainnya Tambahkan Revisi, pilih revisi yang diinginkan, dan atur persentase ke bagian yang diinginkan.
    4. Klik Save.

Command line

Tentukan revisi dan traffic persentase dari setiap revisi dalam daftar yang dipisahkan koma:

gcloud run services update-traffic SERVICE --to-revisions LIST

  • Ganti SERVICE dengan nama layanan.
  • Ganti LIST dengan daftar revisi dan persentase yang dipisahkan oleh koma:
    REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx
    misalnya, hello2-00005-red=25,hello2-00001-bod=25,hello2-00002-nan=50.

YAML

Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan perintah gcloud run services describe --format export, yang memberikan hasil yang telah diolah dalam format YAML. Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace. Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.

  1. Untuk melihat dan mendownload konfigurasi:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Di bawah atribut spec, temukan dan perbarui atribut traffic sehingga revisi baru hanya menyalurkan traffic dalam jumlah kecil:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION-A
        percent: PERCENT-A
      - revisionName: REVISION-B
        percent: PERCENT-B
      - revisionName: REVISION-C
        percent: PERCENT-C
    

    Perhatikan bahwa persentase harus berjumlah 100. Ganti

    • REVISION-A, REVISION-B, REVISION-C dengan revisi yang Anda alokasikan pada traffic-nya.
    • PERCENT-A, PERCENT-B, PERCENT-C dengan persentase untuk revisi yang sesuai.
  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml
  4. Tunggu hingga pembaruan selesai: Anda akan melihat pesan bahwa revisi baru yang Anda luncurkan secara bertahap telah di-deploy dan sedang menyajikan 5 persen (atau nilai bertahap apa pun yang Anda gunakan) dari traffic.

Terraform

Tambahkan berikut ini ke file .tf:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    revision = "cloudrun-srv-green"
  }

  # Define the traffic split for each revision
  # https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service#traffic
  traffic {
    percent  = 25
    revision = "cloudrun-srv-green"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }

  traffic {
    percent = 75
    # This revision needs to already exist
    revision = "cloudrun-srv-blue"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }
}

Terapkan perubahan dengan memasukkan terraform apply.

Mengirim semua traffic ke revisi terbaru

Saat Anda men-deploy revisi baru, Anda dapat membuat revisi ini dan revisi-revisi di masa depan menyajikan traffic dengan persentase 100% dengan segera, mengesampingkan pembagian traffic yang telah ditetapkan:

Konsol

  1. Buka Cloud Run

  2. Temukan layanan dalam daftar layanan, lalu klik pada layanan tersebut.

  3. Klik Deploy Revisi Baru.

  4. Isi formulir deploy sesuai kebutuhan, tetapi pastikan Anda mencentang kotak centang berlabel Sajikan revisi ini segera. Tindakan ini akan mengganti pembagian traffic yang ada, dengan revisi baru yang menyalurkan traffic 100 persen.

  5. Klik Deploy.

Command line

Untuk mengirim semua traffic ke revisi yang terakhir di-deploy:

gcloud run services update-traffic SERVICE --to-latest

Ganti SERVICE dengan nama layanan.

YAML

Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan perintah gcloud run services describe --format export, yang memberikan hasil yang telah diolah dalam format YAML. Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace. Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.

  1. Untuk melihat dan mendownload konfigurasi:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Di bawah atribut spec, temukan dan perbarui atribut traffic menjadi seperti berikut

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - latestRevision: true
        percent: 100
    
  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml
  4. Tunggu hingga pembaruan selesai: Anda akan melihat pesan bahwa revisi (terbaru) telah di-deploy dan sedang menyajikan traffic 100 persen.

Terraform

Tambahkan berikut ini ke file .tf:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {}

  traffic {
    percent = 100
    type    = "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST"
  }
}

Terapkan perubahan dengan memasukkan terraform apply.

Menggunakan tag untuk pengujian, migrasi traffic, dan rollback

Agar tidak menimbulkan biaya penagihan untuk revisi yang diberi tag, gunakan instance minimum tingkat layanan atau hapus tag pada revisi jika Anda tidak membutuhkannya lagi.

Fitur ini sering digunakan untuk menguji dan memeriksa revisi layanan baru sebelum menyalurkan traffic apa pun, dalam urutan umum berikut:

  1. Menjalankan pengujian terintegrasi pada container selama pengembangan.
  2. Men-deploy container ke project Google Cloud yang hanya Anda gunakan untuk staging, tidak menyalurkan traffic, dan melakukan pengujian terhadap revisi yang diberi tag.
  3. Men-deploy ke produksi, tanpa menyalurkan traffic, dan melakukan pengujian terhadap revisi yang diberi tag dalam produksi.
  4. Memindahkan traffic ke revisi yang diberi tag.

Men-deploy revisi yang baru diberi tag

Untuk men-deploy revisi baru dari layanan yang tersedia ke produksi:

Command line

gcloud run deploy myservice --image IMAGE_URL  --no-traffic --tag TAG_NAME

Ganti

  • IMAGE_URL dengan URL untuk gambar Anda
  • TAG_NAME dengan nama tag dalam huruf kecil

Tag tersebut memungkinkan Anda menguji revisi baru secara langsung di URL tertentu, tanpa menyalurkan traffic. URL dimulai dengan nama tag yang Anda berikan: misalnya, jika menggunakan nama tag green pada layanan myservice, Anda akan menguji revisi yang diberi tag di URL https://green---myservice-abcdef.a.run.app

Terraform

Tambahkan baris berikut ke file .tf Anda dan secara bertahap perbarui persentase traffic dari revisi lama ke revisi terbaru dengan tag baru. Perhatikan bahwa setiap perubahan traffic akan memerlukan terraform apply lain untuk dijalankan.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {
    containers {
      # image or tag must be different from previous revision
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    revision = "cloudrun-srv-blue"
  }

  # Define the traffic split for each revision
  # https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service#traffic
  traffic {
    percent = 100
    # This revision needs to already exist
    revision = "cloudrun-srv-green"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }

  traffic {
    # Deploy new revision with 0% traffic
    percent  = 0
    revision = "cloudrun-srv-blue"
    tag      = "tag-name"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }
}

Terapkan perubahan dengan memasukkan terraform apply.

Menghapus tag

Untuk menghapus tag dari revisi:

Konsol

  1. Buka Cloud Run

  2. Temukan layanan dalam daftar layanan, lalu klik pada layanan tersebut.

  3. Buka bagian Revisi dalam layanan yang Anda inginkan, lalu pilih revisi dengan tag yang ingin Anda hapus.

  4. Arahkan kursor ke kolom URL Revisi (tag), lalu klik ikon pensil seperti yang ditunjukkan di bawah.

    hapus tag

  5. Di menu pop-up URL Revisi, klik ikon Tempat sampah untuk menghapus tag yang saat ini digunakan dalam revisi Anda.

  6. Klik Save.

Command line

Untuk menghapus tag revisi:

gcloud run services update-traffic SERVICE --remove-tags TAG_NAME

Ganti

  • TAG_NAME dengan nama tag yang menjadi tujuan pemindahan traffic
  • SERVICE dengan nama layanan tempat Anda menghapus tag

YAML

Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan perintah gcloud run services describe --format export, yang memberikan hasil yang telah diolah dalam format YAML. Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace. Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.

  1. Untuk melihat dan mendownload konfigurasi:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Buat perubahan konfigurasi yang diinginkan pada layanan.

  3. Di bawah atribut spec, temukan dan hapus atribut tag untuk revisi yang diberi tag:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION
        tag: TAG_NAME
        percent: PERCENT-NEW
    
  4. Ganti layanan dengan konfigurasi baru menggunakan perintah berikut:

    gcloud run services replace service.yaml

Terraform

Tambahkan berikut ini ke file .tf:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {}

  # Define the traffic split for each revision
  # https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service#traffic
  traffic {
    percent = 100
    # This revision needs to already exist
    revision = "cloudrun-srv-green"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }

  traffic {
    # No tags for this revision
    # Keep revision at 0% traffic
    percent = 0
    # This revision needs to already exist
    revision = "cloudrun-srv-blue"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }
}

Terapkan perubahan dengan memasukkan terraform apply.

Memindahkan traffic ke revisi yang diberi tag

Setelah mengkonfirmasi bahwa revisi baru berfungsi dengan baik, Anda dapat mulai memindahkan traffic ke revisi tersebut menggunakan konsol Google Cloud, command line gcloud, Terraform, atau file YAML:

Konsol

  1. Buka Cloud Run

  2. Temukan layanan dalam daftar layanan, lalu klik layanan tersebut:

  3. Pilih revisi yang diberi tag yang ingin Anda kirimi traffic:

    kelola-traffic

  4. Klik Kelola Traffic.

  5. Temukan nama revisi yang diberi tag: nama tersebut tercantum, tetapi dengan setelan persentase 0: saat ini tidak menyalurkan traffic apa pun. Dalam formulir Kelola traffic*:

    1. Atur persentase yang diinginkan, misalnya, 5. Perhatikan bahwa persentase versi saat ini yang disajikan akan otomatis dikurangi dengan jumlah yang sama.
    2. Klik Save.
    3. Jika diperlukan, dalam jangka waktu beberapa jam atau hari, Anda dapat mengulangi langkah Kelola Traffic ini, tetapi dengan persentase yang telah berubah, meningkatkan persentase sesuai kebutuhan untuk revisi yang diberi tag. Anda tidak perlu men-deploy ulang untuk mengubah persentase traffic.

Command line

Untuk memindahkan traffic ke tag revisi tertentu:

gcloud run services update-traffic myservice --to-tags TAG_NAME=TRAFFIC_PERCENT

Ganti

  • TAG_NAME dengan nama tag yang menjadi tujuan pemindahan traffic
  • TRAFFIC_PERCENT dengan persentase traffic yang Anda inginkan untuk oleh revisi yang diberi tag, misalnya, 1.

YAML

Anda dapat mendownload dan melihat konfigurasi layanan yang ada menggunakan perintah gcloud run services describe --format export, yang memberikan hasil yang telah diolah dalam format YAML. Kemudian, Anda dapat mengubah kolom yang dijelaskan di bawah ini dan mengunggah YAML yang telah dimodifikasi menggunakan perintah gcloud run services replace. Pastikan Anda hanya mengubah kolom seperti yang didokumentasikan.

  1. Untuk melihat dan mendownload konfigurasi:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Buat perubahan konfigurasi yang diinginkan pada layanan.

  3. Di bawah atribut spec, temukan dan perbarui atribut traffic untuk revisi yang diberi tag sehingga revisi tersebut hanya menyalurkan traffic dalam jumlah kecil:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
     name: SERVICE
    spec:
    ...
      traffic:
      - revisionName: REVISION
        tag: TAG_NAME
        percent: PERCENT-NEW
      - revisionName: REVISION-FORMER
        percent: PERCENT-FORMER
    

    Perhatikan bahwa persentase harus berjumlah 100. Ganti

    • REVISION dengan nama revisi yang diberi tag.
    • TAG_NAME dengan nama tag yang Anda luncurkan secara bertahap.
    • PERCENT-NEW dengan persentase traffic yang ingin Anda kirim ke revisi yang diberi tag, misalnya, gunakan 10 untuk mengirim 10% traffic ke revisi tersebut.
    • REVISION-FORMER dengan nama revisi yang saat ini disajikan.
    • PERCENT-FORMER dengan persentase traffic yang ingin Anda kirim ke revisi lama
  4. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml
  5. Tunggu hingga pembaruan selesai: Anda akan melihat pesan bahwa revisi baru yang Anda luncurkan secara bertahap telah di-deploy dan sedang menyalurkan nilai persentase traffic yang Anda gunakan.

Terraform

Tambahkan berikut ini ke file .tf:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {}

  # Define the traffic split for each revision
  # https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service#traffic
  traffic {
    # Update revision to 50% traffic
    percent = 50
    # This revision needs to already exist
    revision = "cloudrun-srv-green"
    type     = "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION"
  }

  traffic {
    # Update tag to 50% traffic
    percent = 50
    # This tag needs to already exist
    tag = "tag-name"
  }
}

Jika diperlukan, dalam jangka waktu beberapa jam atau hari, Anda dapat secara bertahap memperbarui tag satu dan lainnya, meningkatkan persentase sesuai kebutuhan untuk revisi yang diberi tag.

Terapkan dengan memasukkan terraform apply setelah melakukan setiap perubahan.

Langkah selanjutnya