Pelajari cara mengonfigurasi port container dan perintah entrypoint container dan argumen.
Saat penayangan Knative memulai container, fungsi ini menjalankan default gambar
perintah entrypoint
dan argumen perintah default. Jika Anda ingin mengganti setelan default
entri titik entri dan argumen perintah, Anda dapat menggunakan kolom command
dan args
di
konfigurasi container. Kolom command
menentukan perintah yang sebenarnya
yang dijalankan oleh container. Kolom args
menentukan argumen yang diteruskan ke kolom
perintah.
Mengonfigurasi port container
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Container harus memproses port yang ditentukan oleh lingkungan PORT
variabel daripada porta hardcode tertentu.
Namun, jika tidak memungkinkan, Anda dapat
mengonfigurasi pada permintaan porta mana
dikirim ke penampung:
Konsol
Buka penyaluran Knative di Konsol Google Cloud:
Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit & Deploy Revisi Baru.
Di bagian Setelan lanjutan, klik Penampung.
Tentukan port tujuan pengiriman permintaan yang Anda inginkan, jika bukan nilai default
8080
. Tindakan ini juga menetapkan variabel lingkunganPORT
.Klik Berikutnya untuk melanjutkan ke bagian berikutnya.
Di bagian Konfigurasi cara layanan ini dipicu, memilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
Klik Create untuk men-deploy image ke inferensi Knative, lalu tunggu hingga deployment selesai.
Command line
Untuk layanan yang ada, perbarui setelan port dengan menjalankan
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, setel port dengan menjalankan perintah
gcloud run deploy
dengan--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 kirimi permintaan. Tujuan
port default-nya adalah
8080
.
YAML
Anda dapat mendownload konfigurasi layanan yang ada ke
YAML dengan perintah gcloud run services describe
menggunakan
Tanda --format=export
.
Anda kemudian dapat memodifikasi
file YAML itu dan men-deploy
perubahan tersebut dengan perintah gcloud run services replace
.
Anda harus memastikan bahwa Anda hanya mengubah atribut yang ditentukan.
Download konfigurasi layanan Anda menjadi file bernama
service.yaml
pada ruang kerja lokal:gcloud run services describe SERVICE --format export > service.yaml
Ganti SERVICE dengan nama Anda Layanan penyaluran Knative.
Di file lokal Anda, 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 kirimi permintaan.
- IMAGE_URL dengan referensi ke image container,
misalnya,
Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud run services replace service.yaml
Mengonfigurasi argumen dan perintah entrypoint container
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 penayangan Knative memulai container, fungsi ini menjalankan default gambar
perintah entrypoint.
Untuk menentukan atau mengganti perintah dan argumen entrypoint yang ada yang
yang ditentukan dalam image container, Anda dapat mengonfigurasi command
dan args
di konfigurasi penampung penayangan Knative.
Anda dapat memilih untuk mengonfigurasi perintah entrypoint, argumen, atau keduanya. Perintah yang ditentukan dalam penyaluran Knative menggantikan titik entri yang ditentukan dalam image container. Jika Anda memilih untuk menentukan argumen tersebut, argumen tersebut diteruskan ke dan dijalankan oleh perintah entrypoint yang ditentukan di image container.
Dalam penyaluran Knative, Anda dapat mengonfigurasi perintah {i>entrypoint<i} dan argumen menggunakan Konsol Google Cloud, Google Cloud CLI, atau file YAML saat Anda men-deploy layanan baru, perbarui layanan yang ada, atau men-deploy revisi:
Konsol
Buka penyaluran Knative di Konsol Google Cloud:
Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit & Deploy Revisi Baru.
Di bagian Setelan lanjutan, klik Penampung.
Menetapkan perintah dan argumen entrypoint yang Anda ingin container dijalankan selama startup.
Klik Berikutnya untuk melanjutkan ke bagian berikutnya.
Di bagian Konfigurasi cara layanan ini dipicu, memilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
Klik Create untuk men-deploy image ke inferensi Knative, lalu tunggu hingga deployment selesai.
Command line
Opsi parameter perintah
-
Untuk menentukan argumen yang berisi koma (
,
), Anda harus meng-escape masing-masingARG
dengan {i>delimiter<i} yang berbeda. Misalnya, jika Anda menggunakan@
:--args "^@^arg,with,commas@anotherarg@ARG3..."
-
Untuk menentukan beberapa kumpulan pasangan nilai kunci, Anda
dapat menentukan beberapa parameter agar mudah dibaca. Contoh:
[...] --args "
ARG
1" \ --args "ARG
2" \ --args "ARG
3" -
Untuk menggunakan tanda sama dengan (
=
) di argumen, Anda harus menentukan masing-masing 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 entrypoint dengan menjalankan
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 container untuk dijalankan selama startup.
- Opsional: ARG1 dengan satu atau beberapa argumen untuk perintah yang dijalankan selama startup. Gunakan daftar yang dibatasi koma untuk beberapa argumen. Cara memformat argumen.
Untuk layanan baru, setel perintah entrypoint dengan menjalankan perintah
gcloud run deploy
dengan--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 container untuk dijalankan selama startup.
- Opsional: ARG1 dengan satu atau beberapa argumen untuk perintah yang dijalankan selama startup. Gunakan daftar yang dibatasi koma untuk beberapa argumen. Cara memformat argumen.
YAML
Anda dapat mendownload konfigurasi layanan yang ada ke
YAML dengan perintah gcloud run services describe
menggunakan
Tanda --format=export
.
Anda kemudian dapat memodifikasi
file YAML itu dan men-deploy
perubahan tersebut dengan perintah gcloud run services replace
.
Anda harus memastikan bahwa Anda hanya mengubah atribut yang ditentukan.
Download konfigurasi layanan Anda menjadi file bernama
service.yaml
pada ruang kerja lokal:gcloud run services describe SERVICE --format export > service.yaml
Ganti SERVICE dengan nama Anda Layanan penyaluran Knative.
Di file lokal Anda, perbarui atribut
command
danargs
: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 container untuk dijalankan selama startup.
- Opsional: ARG1 dengan satu atau beberapa argumen untuk perintah yang dijalankan selama startup. Gunakan daftar yang dibatasi koma untuk lebih dari satu argumen.
- IMAGE_URL dengan referensi ke image container,
misalnya,
Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud run services replace service.yaml