Mengonfigurasi container untuk kumpulan pekerja

Halaman ini menjelaskan cara mengonfigurasi argumen dan perintah entrypoint untuk kumpulan pekerja 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 kumpulan pekerja.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengonfigurasi dan men-deploy kumpulan pekerja Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika kumpulan pekerja 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

Perubahan konfigurasi apa pun akan menghasilkan revisi baru. Revisi berikutnya juga akan secara otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan update yang eksplisit untuk mengubahnya.

Perintah dan argumen container yang ditentukan akan menggantikan ENTRYPOINT dan CMD image default.

Anda dapat menetapkan argumen dan perintah entrypoint untuk kumpulan pekerja Cloud Run menggunakan Google Cloud konsol, Google Cloud CLI, YAML, atau Terraform:

Konsol

  1. Di Google Cloud konsol, buka Cloud Run:

    Buka Cloud Run

  2. Pilih Worker pools dari menu, lalu klik Deploy container untuk mengonfigurasi kumpulan pekerja baru. Jika Anda mengonfigurasi kumpulan pekerja yang sudah ada, klik kumpulan pekerja, lalu klik Edit and deploy new revision.

  3. Jika Anda mengonfigurasi kumpulan pekerja baru, isi halaman kumpulan pekerja awal, lalu klik Containers, Networking, Security untuk memperluas halaman konfigurasi kumpulan pekerja.

  4. Klik tab Container.

    gambar

    • Tetapkan perintah yang Anda inginkan untuk dijalankan container jika Anda tidak ingin menggunakan perintah titik entri yang ditentukan dalam image container. Secara opsional, tentukan argumen untuk perintah entrypoint.
  5. Klik Create atau Deploy.

gcloud

Untuk memperbarui perintah dan argumen awal untuk layanan yang ada:

gcloud run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N

Ganti kode berikut:

  • WORKER_POOL: nama kumpulan pekerja.
  • 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 kumpulan pekerja baru atau yang sudah ada:

gcloud run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

Ganti IMAGE_URL dengan referensi ke image container yang berisi kumpulan pekerja, seperti us-docker.pkg.dev/cloudrun/container/worker-pool:latest.

Jika Anda ingin memulihkan default container untuk argumen dan perintah entrypoint, berikan string kosong seperti berikut:

gcloud run worker-pools deploy --image IMAGE_URL --command "" --args ""

YAML

  1. Jika Anda membuat kumpulan pekerja baru, lewati langkah ini. Jika Anda memperbarui kumpulan pekerja yang sudah ada, download konfigurasi YAML-nya:

    gcloud run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. Contoh berikut berisi konfigurasi YAML:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
    spec:
      template:
        spec:
          containers:
          - name: CONTAINER_NAME
            image: IMAGE_URL
            command:
            - COMMAND
            args:
            - ARG1
            - ARG-N

    Ganti kode berikut:

    • WORKER_POOL: nama kumpulan pekerja Cloud Run Anda.
    • CONTAINER_NAME: nama container.
    • IMAGE_URL: referensi ke image container yang berisi kumpulan pekerja, seperti us-docker.pkg.dev/cloudrun/container/worker-pool: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 sendiri—misalnya, seperti yang ditunjukkan, ARG-N.
  3. Buat atau perbarui kumpulan pekerja menggunakan perintah berikut:

    gcloud run worker-pools replace workerpool.yaml

Terraform

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

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"

  template {
    containers {
      image = "IMAGE_URL"
      command = ["COMMAND"]
      args = ["ARG1", "ARG2"]
    }
  }
}

Ganti kode berikut:

  • WORKER_POOL: nama kumpulan pekerja.
  • REGION: region—misalnya, europe-west1. Google Cloud
  • IMAGE_URL: referensi ke image container yang berisi kumpulan pekerja, seperti us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • COMMAND: perintah yang digunakan untuk memulai container, jika Anda tidak menggunakan perintah default.
  • ARG1, ARG2: argumen yang Anda kirim ke perintah container.

Mengonfigurasi urutan awal container untuk deployment sidecar

Untuk menentukan urutan pengaktifan container dalam deployment sidecar, 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 probe health check startup. Probe startup memungkinkan Cloud Run memeriksa kondisi container dependen, sehingga memastikan container berhasil lulus sebelum memulai container berikutnya. Jika Anda tidak menggunakan health check, container akan dimulai dalam urutan yang ditentukan meskipun container yang menjadi dependensinya gagal dimulai.

Perhatikan bahwa tidak ada probe health check startup default untuk kumpulan pekerja.

Gunakan Google Cloud konsol, Google Cloud CLI, atau YAML untuk menentukan urutan startup:

Konsol

  1. Di Google Cloud konsol, buka halaman Cloud Run:

    Buka Cloud Run

    • Pilih Worker pools dari menu.
    • Untuk kumpulan pekerja yang sudah ada, klik kumpulan pekerja dalam daftar, lalu pilih Edit and deploy new revision untuk menampilkan formulir deployment revisi.
    • Untuk kumpulan pekerja baru, klik Deploy container untuk menampilkan formulir Create worker pool.
  2. Untuk kumpulan pekerja baru, tentukan nama kumpulan pekerja, URL container ingress, alokasi CPU, kontrol ingress, dan autentikasi. Di tab Containers, Networking, Security, lakukan hal berikut:

    1. Konfigurasi container ingress.
    2. Untuk menambahkan setiap container lain yang Anda deploy, klik Add container.
    3. Untuk semua container kecuali container ingress, konfigurasi health check startup.
    4. Jika container perlu dimulai setelah container lain tertentu, pilih container tersebut di menu Container startup order.
  3. Untuk kumpulan pekerja yang sudah ada, ikuti langkah-langkah berikut:

    1. Untuk semua container kecuali container ingress, konfigurasi health check startup.
    2. Setiap container ditampilkan dengan menu Container startup order sendiri. Jika container memerlukan container lain untuk dimulai terlebih dahulu sebelum dapat dimulai, gunakan menu Container startup order untuk memilih container yang harus dimulai terlebih dahulu.
  4. Selesaikan konfigurasi lain yang diperlukan, lalu klik Create untuk kumpulan pekerja baru atau Deploy untuk kumpulan pekerja yang sudah ada. Tunggu hingga deployment selesai.

gcloud

Sebelum menggunakan Google Cloud CLI untuk menentukan urutan startup, konfigurasi health check startup.

  1. Di konsol, aktifkan Cloud Shell. Google Cloud

    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.

  2. Untuk men-deploy beberapa container ke layanan dengan urutan startup yang ditentukan, jalankan perintah:

gcloud run worker-pools deploy WORKER_POOL \
     --container CONTAINER_1_NAME --image='WORKER_POOL_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:

  • WORKER_POOL: nama kumpulan pekerja.
  • IMAGE_URL: referensi ke image container yang berisi kumpulan pekerja, seperti us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • SIDECAR_IMAGE: referensi ke image container sidecar.

    Jika Anda ingin mengonfigurasi setiap container dalam perintah deploy, berikan konfigurasi setiap container setelah parameter container.

YAML

  1. Jika Anda membuat kumpulan pekerja baru, lewati langkah ini. Jika Anda memperbarui kumpulan pekerja yang sudah ada, download konfigurasi YAML-nya:

    gcloud run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. Contoh berikut berisi konfigurasi YAML:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/container-dependencies: '{"CONTAINER1":["CONTAINER2"], "CONTAINER3":["CONTAINER1","CONTAINER2"]}'

    Ganti kode berikut:

    • WORKER_POOL: nama kumpulan pekerja 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.

  3. Buat atau perbarui kumpulan pekerja menggunakan perintah berikut:

    gcloud run worker-pools replace workerpool.yaml

Melihat konfigurasi container untuk kumpulan pekerja

  1. Di Google Cloud konsol, buka Cloud Run:

    Buka Cloud Run

  2. Klik Worker pools untuk menampilkan daftar kumpulan pekerja yang di-deploy.

  3. Klik kumpulan pekerja yang ingin Anda periksa untuk menampilkan panel detailnya.

  4. Klik tab Containers untuk menampilkan konfigurasi container kumpulan pekerja.