Mengonfigurasi penampung

Pelajari cara mengonfigurasi port penampung serta perintah dan argumen entrypoint penampung.

Saat layanan Knative memulai container, layanan tersebut akan menjalankan perintah entrypoint default dan argumen perintah default image. Jika Anda ingin mengganti argumen perintah dan entrypoint default gambar, Anda dapat menggunakan kolom command dan args dalam konfigurasi container. Kolom command menentukan perintah sebenarnya yang dijalankan oleh penampung. Kolom args menentukan argumen yang diteruskan ke perintah tersebut.

Mengonfigurasi port penampung

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.

Penampung harus memproses port yang ditentukan oleh variabel lingkungan PORT, bukan port hardcode tertentu. Namun, jika tidak memungkinkan, Anda dapat mengonfigurasi permintaan port mana yang dikirim ke penampung:

Konsol

  1. Buka penayangan Knative di konsol Google Cloud:

    Buka Inferensi Knative

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan tersebut, lalu klik Edit & Deploy New Revision.

  3. Di bagian Setelan lanjutan, klik Penampung.

  4. Tentukan port tujuan pengiriman permintaan yang Anda inginkan, jika bukan nilai default 8080. Tindakan ini juga menetapkan variabel lingkungan PORT.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

  6. Di bagian Configure how this service is triggered, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.

  7. Klik Create untuk men-deploy image ke layanan Knative dan tunggu deployment selesai.

Command line

  • Untuk layanan yang ada, perbarui setelan port dengan menjalankan perintah gcloud run services update dengan parameter berikut:

    gcloud run services update SERVICE --port PORT

    Ganti:

    • SERVICE dengan nama layanan.
    • PORT dengan port untuk mengirim permintaan. Perhatikan bahwa port defaultnya adalah 8080.
  • Untuk layanan baru, tetapkan port dengan menjalankan perintah gcloud run deploy dengan parameter --port:

    gcloud run deploy SERVICE --image=IMAGE_URL --port PORT

    Ganti:

    • SERVICE dengan nama layanan.
    • IMAGE_URL dengan referensi ke image container, misalnya, gcr.io/cloudrun/hello.
    • PORT dengan port yang ingin Anda gunakan untuk mengirim permintaan. Port defaultnya adalah 8080.

YAML

Anda dapat mendownload konfigurasi layanan yang ada ke dalam file YAML dengan perintah gcloud run services describe menggunakan tanda --format=export. Kemudian, Anda dapat mengubah file YAML tersebut dan men-deploy perubahan tersebut dengan perintah gcloud run services replace. Anda harus memastikan bahwa Anda hanya mengubah atribut yang ditentukan.

  1. Download konfigurasi layanan Anda ke file bernama service.yaml di ruang kerja lokal:

    gcloud run services describe SERVICE --format export > service.yaml

    Ganti SERVICE dengan nama layanan penayangan Knative Anda.

  2. Di file lokal, perbarui atribut containerPort::

    apiVersion: serving.knative.dev/v1
    kind: Service
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL
            ports:
            - containerPort: PORT
    

    Ganti

    • IMAGE_URL dengan referensi ke image container, misalnya, gcr.io/cloudrun/hello.
    • PORT dengan port yang ingin Anda gunakan untuk mengirim permintaan.
  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml

Mengonfigurasi perintah dan argumen entrypoint penampung

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.

Saat layanan Knative memulai container, layanan tersebut akan menjalankan perintah entrypoint default image. Untuk menentukan atau mengganti perintah dan argumen titik entri yang ada yang ditentukan dalam image container, Anda dapat mengonfigurasi setelan command dan args dalam konfigurasi penayangan container Knative.

Anda dapat memilih untuk mengonfigurasi perintah, argumen, atau keduanya di entrypoint. Perintah yang Anda tentukan dalam penayangan Knative akan mengganti perintah titik entri yang ditentukan dalam image container. Jika Anda memilih untuk hanya menentukan argumen, argumen tersebut akan diteruskan ke dan dijalankan oleh perintah entrypoint yang ditentukan dalam image container.

Dalam penayangan Knative, Anda dapat mengonfigurasi perintah dan argumen titik entri menggunakan konsol Google Cloud, Google Cloud CLI, atau file YAML saat men-deploy layanan baru, mengupdate layanan yang ada, atau men-deploy revisi:

Konsol

  1. Buka penayangan Knative di konsol Google Cloud:

    Buka Inferensi Knative

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan tersebut, lalu klik Edit & Deploy New Revision.

  3. Di bagian Setelan lanjutan, klik Penampung.

  4. Tentukan perintah dan argumen titik entri yang ingin Anda jalankan selama startup.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

  6. Di bagian Configure how this service is triggered, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.

  7. Klik Create untuk men-deploy image ke layanan Knative dan tunggu deployment selesai.

Command line

Opsi parameter perintah

  • Untuk menentukan argumen yang berisi koma (,), Anda harus meng-escape setiap ARG dengan pemisah yang berbeda. Misalnya, jika Anda menggunakan @:
    --args "^@^arg,with,commas@anotherarg@ARG3..."
  • Untuk menentukan beberapa kumpulan pasangan nilai kunci, Anda dapat menentukan beberapa parameter untuk keterbacaan. Contoh:
    [...]
    --args "ARG1" \
    --args "ARG2" \
    --args "ARG3"
  • Untuk menggunakan tanda sama dengan (=) dalam argumen, Anda harus menentukan setiap argumen menggunakan format berikut:
    gcloud run services ...  \
      --args "--repo-allowlist=github.com/example/example_demo" \
      --args "--gh-webhook-secret=XX"

  • Untuk layanan yang ada, perbarui perintah titik entri dengan menjalankan perintah gcloud run services update dengan parameter berikut:

    gcloud run services update SERVICE --command COMMAND --args ARG1,ARG2,ARG-N

    Ganti:

    • SERVICE dengan nama layanan.
    • Opsional: COMMAND dengan perintah yang Anda inginkan dijalankan penampung selama startup.
    • Opsional: ARG1 dengan satu atau beberapa argumen untuk perintah yang dijalankan selama startup. Gunakan daftar yang dipisahkan koma untuk beberapa argumen. Cara memformat argumen Anda.
  • Untuk layanan baru, tetapkan perintah titik entri dengan menjalankan perintah gcloud run deploy dengan parameter --command:

    gcloud run deploy SERVICE --image=IMAGE_URL --command COMMAND --args ARG1,ARG2,ARG-N

    Ganti:

    • SERVICE dengan nama layanan.
    • IMAGE_URL dengan referensi ke image container, misalnya, gcr.io/cloudrun/hello.
    • Opsional: COMMAND dengan perintah yang Anda inginkan dijalankan penampung selama startup.
    • Opsional: ARG1 dengan satu atau beberapa argumen untuk perintah yang dijalankan selama startup. Gunakan daftar yang dipisahkan koma untuk beberapa argumen. Cara memformat argumen Anda.

YAML

Anda dapat mendownload konfigurasi layanan yang ada ke dalam file YAML dengan perintah gcloud run services describe menggunakan tanda --format=export. Kemudian, Anda dapat mengubah file YAML tersebut dan men-deploy perubahan tersebut dengan perintah gcloud run services replace. Anda harus memastikan bahwa Anda hanya mengubah atribut yang ditentukan.

  1. Download konfigurasi layanan Anda ke file bernama service.yaml di ruang kerja lokal:

    gcloud run services describe SERVICE --format export > service.yaml

    Ganti SERVICE dengan nama layanan penayangan Knative Anda.

  2. Di file lokal, perbarui atribut command dan args:

    apiVersion: serving.knative.dev/v1
    kind: Service
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL
            command:
            - COMMAND
            args:
            - "ARG1"
            - "ARG-N"
    

    Ganti:

    • IMAGE_URL dengan referensi ke image container, misalnya, gcr.io/cloudrun/hello.
    • Opsional: COMMAND dengan perintah yang Anda inginkan dijalankan penampung selama startup.
    • Opsional: ARG1 dengan satu atau beberapa argumen untuk perintah yang dijalankan selama startup. Gunakan daftar yang dipisahkan koma untuk argumen yang lebih dari satu.
  3. Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:

    gcloud run services replace service.yaml