Mengelola Layanan

Halaman ini menjelaskan pembuatan layanan dan menampilkan informasi tentang layanan.

Setiap layanan memiliki URL run.app yang unik dan permanen yang tidak akan berubah seiring waktu saat Anda men-deploy revisi baru pada URL tersebut. Fungsi yang di-deploy di Cloud Run juga diperlakukan sebagai layanan dan diberi alamat run.app. Domain permanen layanan terdiri dari nama layanan dan hash.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengelola layanan dan revisi Cloud Run, minta administrator untuk memberi Anda peran IAM Cloud Run Developer (roles/run.developer) di layanan Cloud Run Anda.

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Membuat service

Anda membuat layanan baru dengan men-deploy image container ke layanan tersebut untuk pertama kalinya. Men-deploy layanan baru berisi petunjuk lebih lengkap.

Melihat daftar layanan di project Anda

Anda dapat melihat daftar layanan yang tersedia di project Anda menggunakan Konsol Google Cloud atau command line gcloud:

Untuk melihat daftar layanan:

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Periksa daftar layanan yang ditampilkan untuk project Anda:

    daftar layanan

Untuk mencantumkan layanan dalam project Anda:

gcloud run services list

Perhatikan bahwa setiap layanan memiliki URL terkait.

Anda dapat memfilter daftar ini berdasarkan properti definisi layanan, seperti label yang ditetapkan.

Untuk melihat daftar layanan dengan Cloud Code, baca panduan Cloud Run Explorer untuk IntelliJ dan Visual Studio Code.

Untuk melihat daftar layanan dari kode:

Untuk melihat daftar layanan di project Anda, kirim permintaan HTTP GET ke endpoint service Cloud Run Admin API.

Misalnya, menggunakan curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services

Ganti:

  • ACCESS_TOKEN dengan token akses yang valid untuk akun yang memiliki izin IAM untuk melihat layanan. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakan gcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.
  • REGION dengan Google Cloud region layanan.
  • PROJECT-ID dengan Google Cloud project ID.

Melihat daftar fungsi di project Anda

Anda dapat melihat daftar fungsi yang tersedia di project Anda menggunakan Konsol Google Cloud:

Konsol

Untuk memfilter fungsi dalam daftar layanan Anda:

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Periksa daftar layanan yang ditampilkan untuk project Anda:

    daftar layanan

  3. Pilih Filter services > Deployment type > Function.

    Jika sebelumnya Anda men-deploy fungsi menggunakan Cloud Functions v2 API, kolom Di-deploy oleh akan menampilkan Cloud Functions.

Menyalin layanan

Anda dapat membuat salinan layanan yang ada menggunakan Konsol Google Cloud atau YAML. Anda dapat mengubah apa pun yang Anda inginkan di salinan, termasuk nama dan region.

KonsolYAML

Untuk menyalin layanan:

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Pilih layanan yang akan disalin dari daftar layanan yang ditampilkan untuk project Anda:

    daftar layanan

    1. Klik Salin.

    2. Di halaman salinan layanan, tetapkan atau ubah nilai apa pun yang ingin Anda ubah, seperti region, dll. Jika Anda mempertahankan region yang sama, Anda harus memberikan nama baru untuk layanan tersebut.

    3. Klik Buat untuk membuat salinan dan men-deploy-nya menggunakan nama layanan baru.

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

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

     apiVersion: serving.knative.dev/v1
     kind: Service
     metadata:
       annotations:
         ...
       name: SERVICE
       ...
     spec:
       template:
         metadata:
           annotations:
           ...
           name: REVISION
    
    • Jika Anda tidak men-deploy salinan ke region lain, ganti SERVICE dengan nama yang ingin Anda gunakan untuk salinan tersebut. Jika Anda men-deploy salinan ke region lain, Anda dapat menggunakan nama lama.
    • Ganti REVISION dengan nama revisi baru atau hapus (jika ada). Jika Anda menyediakan nama revisi baru, nama tersebut harus memenuhi kriteria berikut:
      • Dimulai denganSERVICE-
      • Hanya berisi huruf kecil, angka, dan -
      • Tidak diakhiri dengan -
      • Tidak melebihi 63 karakter
  3. Salin layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

    Gunakan flag --region untuk men-deploy salinan ke region yang berbeda.

Melihat detail selengkapnya tentang layanan

Untuk melihat detail selengkapnya mengenai layanan,

Untuk melihat detail layanan:

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang diinginkan dalam daftar layanan yang ditampilkan untuk project Anda guna membuka tampilan detail layanan.

Untuk melihat detail layanan:

gcloud run services describe SERVICE
Ganti SERVICE dengan nama layanan.

Anda dapat menggunakan tanda --format untuk memformat output. Contohnya sebagai YAML:

gcloud run services describe SERVICE --region REGION --format yaml

Ganti:

  • SERVICE dengan nama layanan.
  • REGION dengan Google Cloud region layanan.

Anda dapat menggunakan --format export untuk mengekspor sebagai YAML tanpa label atau status yang dibuat secara otomatis:

gcloud run services describe SERVICE --region REGION --format export

Anda juga dapat menggunakan flag --format untuk mendapatkan URL layanan:

gcloud run services describe SERVICE --region REGION --format='value(status.url)'

Untuk melihat detail layanan dengan Cloud Code, baca panduan Cloud Run Explorer untuk IntelliJ dan Visual Studio Code.

Untuk detail selengkapnya tentang revisi layanan, lihat Mengelola Revisi.

Untuk melihat detail layanan dari kode:

Untuk melihat detail tentang layanan, kirim permintaan HTTP GET ke endpoint service Cloud Run Admin API.

Misalnya, menggunakan curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME

Ganti:

  • ACCESS_TOKEN dengan token akses yang valid untuk akun yang memiliki izin IAM untuk melihat detail layanan. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakan gcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.
  • SERVICE-NAME dengan nama layanan.
  • REGION dengan Google Cloud region layanan.
  • PROJECT-ID dengan Google Cloud project ID.

Menonaktifkan layanan yang ada

Untuk mendapatkan izin yang diperlukan guna menonaktifkan layanan dan revisi Cloud Run yang ada, minta administrator untuk memberi Anda peran IAM Cloud Run Admin (roles/run.admin) di project Anda.

Jika Anda menonaktifkan layanan, semua permintaan yang saat ini sedang diproses akan diizinkan untuk diselesaikan. Namun, permintaan lebih lanjut ke URL layanan akan gagal dengan error Service unavailable atau Service disabled.

Permintaan untuk melayani revisi yang hanya aktif karena tag traffic tidak akan terpengaruh karena revisi tersebut tidak dinonaktifkan.

Untuk menonaktifkan layanan, Anda menetapkan penskalaan ke nol. Anda dapat menonaktifkan layanan menggunakan konsol Google Cloud, Google Cloud CLI, file YAML, atau API:

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang ingin Anda nonaktifkan untuk menampilkan panel detailnya, lalu klik ikon pena di samping Penskalaan di kanan atas panel detail.

  3. Temukan formulir Edit penskalaan, lalu pilih Penskalaan manual.

    gambar

    Di kolom berlabel Number of instances, masukkan nilai 0 (nol).

  4. Klik Simpan.

Untuk menonaktifkan layanan, gunakan perintah berikut untuk menetapkan penskalaan ke nol:

gcloud beta run services update SERVICE --scaling=0

Ganti SERVICE dengan nama layanan Anda.

  1. Download konfigurasi YAML layanan Anda:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Tetapkan atribut manualInstanceCount ke nol (0):

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
      run.googleapis.com/launch-stage: BETA
      run.googleapis.com/scalingMode: manual
      run.googleapis.com/manualInstanceCount: `0`

    Ganti SERVICE dengan nama layanan Cloud Run Anda.

  3. Buat atau perbarui layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Untuk menonaktifkan layanan, kirim permintaan HTTP PATCH ke endpoint service Cloud Run Admin API.

Misalnya, menggunakan curl:

    curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -X PATCH \
    -d '{"launchStage":"BETA","scaling":{"manualInstanceCount":0 }}' \
    https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE?update_mask=launchStage,scaling.manualInstanceCount

Ganti:

  • ACCESS_TOKEN dengan token akses yang valid untuk akun yang memiliki izin IAM untuk mengupdate layanan. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakan gcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.
  • SERVICE dengan nama layanan.
  • REGION dengan Google Cloud region tempat layanan di-deploy.
  • PROJECT_ID dengan Google Cloud project ID.

Menghapus layanan yang ada

Pertimbangan berikut berlaku untuk penghapusan layanan:

  • Menghapus layanan akan menghapus semua resource yang terkait dengan layanan ini, termasuk semua revisi layanan ini, terlepas dari apakah layanan tersebut melayani traffic atau tidak.
  • Menghapus layanan tidak secara otomatis menghapus image container dari Container Registry. Untuk menghapus image container yang digunakan oleh revisi yang telah dihapus dari Container Registry, lihat Menghapus image.
  • Menghapus layanan dengan satu atau beberapa pemicu Eventarc tidak secara otomatis menghapus pemicu tersebut. Untuk menghapus pemicu, lihat Mengelola pemicu.
  • Setelah dihapus, layanan tetap terlihat di Konsol Google Cloud dan di antarmuka command line hingga penghapusan selesai sepenuhnya. Namun, Anda tidak dapat mengupdate layanan tersebut.
  • Penghapusan layanan bersifat permanen: tidak dapat diurungkan atau dipulihkan. Namun, jika setelah menghapus layanan, Anda men-deploy layanan baru dengan nama yang sama di region yang sama, layanan tersebut akan memiliki URL endpoint yang sama.

Untuk menghapus layanan:

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Temukan layanan yang ingin Anda hapus dalam daftar layanan, lalu klik kotak centang layanan tersebut untuk memilihnya.

  3. Klik HAPUS. Tindakan ini akan menghapus semua revisi layanan.

Untuk menghapus layanan, gunakan perintah:

gcloud run services delete SERVICE --region REGION

Ganti

  • SERVICE dengan nama layanan Anda.
  • REGION dengan Google Cloud region layanan.

Untuk menghapus layanan dari kode:

Untuk menghapus layanan, kirim permintaan HTTP DELETE ke endpoint service Cloud Run Admin API.

Misalnya, menggunakan curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X DELETE \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME

Ganti:

  • ACCESS_TOKEN dengan token akses yang valid untuk akun yang memiliki izin IAM untuk menghapus layanan. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakan gcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.
  • SERVICE-NAME dengan nama layanan.
  • REGION dengan Google Cloud region layanan.
  • PROJECT-ID dengan Google Cloud project ID.