Halaman ini menjelaskan pembuatan layanan dan menampilkan informasi tentang layanan.
Setiap layanan memiliki run.app URL 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 run.app
alamat. Domain permanen layanan terdiri dari nama layanan dan hash.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola layanan dan revisi Cloud Run,
minta administrator untuk memberi Anda peran IAM
Cloud Run Developer (roles/run.developer) pada 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 Google Cloud CLI:
Konsol
Untuk melihat daftar layanan:
Di Google Cloud konsol, buka halaman Services Cloud Run:
Periksa daftar layanan yang ditampilkan untuk project Anda:
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 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 Google Cloud konsol:
Konsol
Untuk memfilter fungsi dalam daftar layanan Anda:
Di Google Cloud konsol, buka halaman Services Cloud Run:
Periksa daftar layanan yang ditampilkan untuk project Anda:
Pilih Filter services > Deployment type > Function.
Jika sebelumnya Anda men-deploy fungsi menggunakan Cloud Functions v2 API, kolom Deployed by akan menampilkan Cloud Functions.
Menyalin layanan
Anda dapat membuat salinan layanan yang ada menggunakan Google Cloud konsol atau YAML. Anda dapat mengubah apa pun yang Anda inginkan di salinan, termasuk nama dan region.
Konsol
Untuk menyalin layanan:
Di Google Cloud konsol, buka halaman Services Cloud Run:
Pilih layanan yang akan disalin dari daftar layanan yang ditampilkan untuk project Anda:
Klik Salin.
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.
Klik Buat untuk membuat salinan dan men-deploy-nya menggunakan nama layanan baru.
YAML
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda memperbarui layanan yang ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Buat perubahan konfigurasi berikut 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 dengan
SERVICE- - Hanya berisi huruf kecil, angka, dan
- - Tidak diakhiri dengan
- - Tidak melebihi 63 karakter
- Dimulai dengan
Salin layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Gunakan
--regionflag untuk men-deploy salinan ke region yang berbeda.
Melihat detail lengkap mengenai layanan
Anda dapat melihat detail selengkapnya mengenai layanan menggunakankonsol Google Cloud , Google Cloud CLI, file YAML, atau REST API:
Konsol
Untuk melihat detail layanan:
Di Google Cloud konsol, buka halaman Services Cloud Run:
Klik layanan dalam daftar layanan yang ditampilkan untuk membuka tampilan detail layanan.
gcloud
Untuk melihat detail layanan:
gcloud run services describe SERVICE
Anda dapat menggunakan tanda --format flag 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)'
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 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 untuk menonaktifkan layanan dan revisi Cloud Run yang ada, minta administrator untuk memberi Anda peran IAM Cloud Run Admin (roles/run.admin) pada project Anda.
Saat 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 ke revisi layanan yang hanya aktif karena tag traffic tidak 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:
Konsol
Di Google Cloud konsol, buka halaman Services Cloud Run:
Klik layanan yang ingin Anda nonaktifkan untuk menampilkan panel detailnya, lalu klik ikon pena di samping Scaling di kanan atas panel detail.
Temukan formulir Edit scaling dan pilih Manual scaling.
Di kolom berlabel Number of instances, masukkan nilai
0(nol).Klik Save.
gcloud
Untuk menonaktifkan layanan, gunakan perintah berikut untuk menetapkan penskalaan ke nol:
gcloud run services update SERVICE --scaling=0
Ganti SERVICE dengan nama layanan Anda.
YAML
Download konfigurasi YAML layanan Anda:
gcloud run services describe SERVICE --format export > service.yaml
Tetapkan atribut
manualInstanceCountke nol (0):apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/scalingMode: manual run.googleapis.com/manualInstanceCount: `0`
Ganti SERVICE dengan nama layanan Cloud Run Anda.
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
REST API
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 '{"scaling":{"manualInstanceCount":0 }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE?update_mask=scaling.manualInstanceCount
Ganti kode berikut:
- ACCESS_TOKEN: token akses yang valid untuk akun yang
memiliki izin IAM untuk memperbarui layanan.
Misalnya, jika login ke
gcloud, Anda dapat mengambil token akses menggunakangcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container. - SERVICE: nama layanan.
- REGION: region tempat layanan di- deploy. Google Cloud
- PROJECT_ID: project ID. Google Cloud
Terraform
Untuk menonaktifkan layanan, tetapkan atribut manual_instance_count ke nol (0):
resource "google_cloud_run_v2_service" "default" {
name = "SERVICE_NAME"
location = "REGION"
template {
containers {
image = "IMAGE_URL"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "0"
}
}
Ganti kode berikut:
- SERVICE_NAME: nama layanan Cloud Run Anda.
- REGION: Google Cloud region. Misalnya,
europe-west1. - IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL mengikuti formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
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 Artifact Registry. Untuk menghapus image container yang digunakan oleh revisi yang telah dihapus dari Artifact 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 Google Cloud konsol 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.
- Saat Anda menghapus fungsi Cloud Run, fungsi tersebut akan berhenti menerima permintaan baru. Namun, Cloud Run tidak akan segera menghentikan instance yang sedang berjalan. Sebagai gantinya, fungsi akan berjalan hingga tugas selesai dalam waktu tunggu yang Anda konfigurasi. Hal ini dapat menyebabkan fungsi terlihat aktif dalam log untuk waktu singkat setelah Anda menghapusnya.
Anda dapat menghapus layanan atau fungsi menggunakan Google Cloud konsol, Google Cloud CLI, file YAML, atau REST API:
Konsol
Untuk menghapus layanan:
Di Google Cloud konsol, buka halaman Services Cloud Run:
Temukan layanan yang ingin Anda hapus dalam daftar layanan, lalu klik kotak centang layanan tersebut untuk memilihnya.
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 Google Cloud region 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 Google Cloud region layanan.
- PROJECT-ID dengan Google Cloud project ID.