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:

Konsol

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

gcloud

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.

Cloud Code

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

Library klien

Untuk melihat daftar layanan dari kode:

REST API

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 region Google Cloud layanan.
  • PROJECT-ID dengan ID project Google Cloud.

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 (API generasi ke-2), 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.

Konsol

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.

YAML

  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,

Konsol

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.

gcloud

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 region Google Cloud 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)'

Cloud Code

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.

Library klien

Untuk melihat detail layanan dari kode:

REST API

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 region Google Cloud layanan.
  • PROJECT-ID dengan ID project Google Cloud.

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.

Cloud Run tidak menawarkan cara langsung untuk membuat layanan berhenti menyajikan traffic, tetapi Anda dapat mencapai hasil yang serupa dengan mencabut izin untuk memanggil layanan ke identitas yang memanggil layanan. Khususnya, jika layanan Anda bersifat "publik", hapus allUsers dari peran Cloud Run Invoker (roles/run.invoker).

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.

Konsol

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.

gcloud

Untuk menghapus layanan, gunakan perintah:

gcloud run services delete SERVICE --region REGION

Ganti

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

Library klien

Untuk menghapus layanan dari kode:

REST API

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 region Google Cloud layanan.
  • PROJECT-ID dengan ID project Google Cloud.