Halaman ini menjelaskan cara mengonfigurasi perintah entrypoint dan argumen untuk instance Cloud Run.
Saat Cloud Run memulai container, Cloud Run akan menjalankan perintah entrypoint default dan argumen perintah default image. Jika Anda ingin
mengganti entrypoint default dan argumen perintah image, Anda dapat menggunakan
kolom command dan args dalam konfigurasi container. Kolom command
menentukan perintah sebenarnya yang dijalankan oleh container. Kolom args menentukan argumen yang diteruskan ke perintah tersebut.
Perhatikan bahwa Anda dapat memiliki maksimum 1.000 argumen per container untuk setiap instance.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengonfigurasi dan men-deploy instance Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut:
- Developer Cloud Run (
roles/run.developer) di instance Cloud Run - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di identitas layanan
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika instance 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.
Mengonfigurasi entrypoint dan argumen
Untuk mengganti setelan ENTRYPOINT dan CMD image default, Anda dapat menetapkan perintah entrypoint dan argumen untuk instance Cloud Run menggunakan Google Cloud CLI atau YAML:
gcloud
Untuk memperbarui perintah dan argumen awal untuk instance yang ada:
gcloud beta run instances update INSTANCE --command COMMAND --args ARG1,ARG-N
Ganti kode berikut:
- INSTANCE: nama instance.
- COMMAND: perintah yang digunakan untuk memulai container, jika Anda tidak menggunakan perintah default.
- ARG1: argumen yang Anda kirim ke perintah container. Gunakan daftar yang dipisahkan koma untuk argumen yang lebih dari satu.
Untuk menetapkan entrypoint dan argumen selama deployment instance baru atau yang sudah ada:
gcloud beta run instances deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Ganti IMAGE_URL dengan referensi ke image container, seperti us-docker.pkg.dev/cloudrun/container/hello:latest.
Jika Anda ingin memulihkan default container untuk perintah dan argumen entrypoint, berikan string kosong seperti berikut:
gcloud beta run instances --image IMAGE_URL --command "" --args ""
YAML
Jika Anda membuat instance baru, lewati langkah ini. Jika Anda memperbarui instance yang ada, download konfigurasi YAML-nya:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Contoh berikut berisi konfigurasi YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - name: CONTAINER_NAME image: IMAGE_URL command: - COMMAND args: - ARG1 - ARG-N
Ganti kode berikut:
- INSTANCE: nama instance Cloud Run Anda.
- CONTAINER_NAME: nama container.
IMAGE_URL: referensi ke image container, sepertius-docker.pkg.dev/cloudrun/container/hello:latest.- COMMAND: perintah yang digunakan untuk memulai container jika Anda tidak menggunakan perintah default.
- ARG1: argumen yang Anda kirim ke perintah container. Jika Anda menggunakan beberapa argumen, tentukan setiap argumen di barisnya masing-masing, contohnya, seperti yang ditunjukkan, ARG-N.
Buat atau perbarui instance menggunakan perintah berikut:
gcloud beta run instances replace instance.yaml
Mengonfigurasi urutan awal container untuk deployment file bantuan
Untuk menentukan urutan startup container dalam deployment file bantuan, gunakan fitur dependensi container. Tentukan container yang memiliki dependensi dan cantumkan container yang menjadi dependensinya, sehingga container tersebut dimulai terlebih dahulu. Container yang tidak memiliki dependensi apa pun selalu dimulai terlebih dahulu dan secara serentak.
Agar berhasil menggunakan fitur ini, Anda harus menggunakan pemeriksaan kesehatan startup. Pemeriksaan startup memungkinkan Cloud Run memeriksa kesehatan container dependen, sehingga memastikan container tersebut berhasil sebelum memulai container berikutnya. Jika Anda tidak menggunakan pemeriksaan kesehatan, container akan dimulai dalam urutan yang ditentukan meskipun container yang menjadi dependensinya gagal dimulai.
Perhatikan bahwa tidak ada pemeriksaan kesehatan startup default untuk instance.
Gunakan Google Cloud CLI atau YAML untuk menentukan urutan startup:
gcloud
Sebelum menggunakan Google Cloud CLI untuk menentukan urutan startup, konfigurasikan pemeriksaan kesehatan startup.
-
Di Google Cloud konsol, aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan prompt command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Untuk men-deploy beberapa container ke instance dengan urutan startup yang ditentukan, jalankan perintah:
gcloud beta run instances deploy INSTANCE \ --container CONTAINER_1_NAME --image='INSTANCE_IMAGE' --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \ --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME
Ganti kode berikut:
- INSTANCE: nama instance.
IMAGE_URL: referensi ke image container, sepertius-docker.pkg.dev/cloudrun/container/hello:latest.SIDECAR_IMAGE: referensi ke image container file bantuan.Jika Anda ingin mengonfigurasi setiap container dalam perintah deployment, berikan konfigurasi setiap container setelah parameter
container.
YAML
Jika Anda membuat instance baru, lewati langkah ini. Jika Anda memperbarui instance yang ada, download konfigurasi YAML-nya:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Contoh berikut berisi konfigurasi YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE spec: template: metadata: annotations: run.googleapis.com/container-dependencies: '{"CONTAINER1":["CONTAINER2"], "CONTAINER3":["CONTAINER1","CONTAINER2"]}'
Ganti kode berikut:
- INSTANCE: nama instance Cloud Run Anda.
- CONTAINER1: nama container pertama yang bergantung pada satu container atau lebih. Anda dapat menetapkan nama container dalam YAML; Cloud Run akan otomatis membuat nama jika nama tidak ditentukan.
- CONTAINER2: nama container yang harus dimulai sebelum CONTAINER1.
- CONTAINER3: nama container kedua yang bergantung pada satu container atau lebih.
Dalam contoh yang ditampilkan dalam cuplikan YAML, CONTAINER2 dimulai terlebih dahulu, CONTAINER1 dimulai kedua, dan CONTAINER3 dimulai terakhir.
Buat atau perbarui instance menggunakan perintah berikut:
gcloud beta run instances replace instance.yaml