Pelajari cara mengonfigurasi port container serta perintah dan argumen titik entri container.
Saat penayangan Knative memulai container, Knative menjalankan perintah
entrypoint default
dan argumen perintah default. Jika ingin mengganti titik entri
dan argumen perintah default gambar, 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.
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 variabel lingkungan PORT
, bukan port hardcode tertentu.
Namun, jika tidak memungkinkan, Anda dapat mengonfigurasi permintaan port mana yang dikirim ke penampung:
Konsol
Buka penayangan 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 New revision.
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 Configure bagaimana layanan ini dipicu, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
Klik Create untuk men-deploy image ke penayangan Knative dan tunggu hingga 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 mereferensikan ke image container, misalnya,
gcr.io/cloudrun/hello
. - PORT dengan port tempat Anda ingin mengirim permintaan. Port
defaultnya adalah
8080
.
YAML
Anda dapat mendownload konfigurasi layanan yang ada ke dalam
file YAML menggunakan perintah gcloud run services describe
menggunakan flag
--format=export
.
Anda kemudian dapat memodifikasi file YAML 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 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.
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 mereferensikan ke image container, misalnya,
gcr.io/cloudrun/hello
. - PORT dengan port tempat Anda ingin mengirim permintaan.
- IMAGE_URL dengan mereferensikan ke image container, misalnya,
Ganti layanan dengan konfigurasi baru menggunakan perintah berikut:
gcloud run services replace service.yaml
Mengonfigurasi perintah dan argumen 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, layanan ini akan menjalankan perintah titik entri default gambar.
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 container penayangan Knative.
Anda dapat memilih untuk mengonfigurasi perintah titik entri, argumen, atau keduanya. Perintah yang Anda tentukan dalam penayangan Knative menggantikan perintah titik entri apa pun yang ditentukan dalam image container. Jika Anda memilih untuk menentukan hanya argumen, argumen tersebut akan diteruskan ke dan dijalankan oleh perintah entrypoint yang ditetapkan 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
Buka penayangan 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 New revision.
Di bagian Setelan lanjutan, klik Penampung.
Tentukan perintah dan argumen titik entri yang Anda inginkan untuk dijalankan container selama startup.
Klik Berikutnya untuk melanjutkan ke bagian berikutnya.
Di bagian Configure bagaimana layanan ini dipicu, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
Klik Create untuk men-deploy image ke penayangan Knative dan tunggu hingga deployment selesai.
Command line
Opsi parameter perintah
-
Untuk menentukan argumen yang berisi koma (
,
), Anda harus meng-escape setiapARG
dengan pembatas yang berbeda. Misalnya, jika Anda menggunakan@
:--args "^@^arg,with,commas@anotherarg@ARG3..."
-
Untuk menentukan beberapa kumpulan key-value pair, Anda
dapat menentukan beberapa parameter agar mudah dibaca. Contoh:
[...] --args "
ARG
1" \ --args "ARG
2" \ --args "ARG
3" -
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 entrypoint 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 untuk dijalankan container 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.
Untuk layanan baru, tetapkan perintah entrypoint 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 mereferensikan ke image container, misalnya,
gcr.io/cloudrun/hello
. - Opsional: COMMAND dengan perintah yang Anda inginkan untuk dijalankan container 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.
YAML
Anda dapat mendownload konfigurasi layanan yang ada ke dalam
file YAML menggunakan perintah gcloud run services describe
menggunakan flag
--format=export
.
Anda kemudian dapat memodifikasi file YAML 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 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.
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 mereferensikan ke image container, misalnya,
gcr.io/cloudrun/hello
. - Opsional: COMMAND dengan perintah yang Anda inginkan untuk dijalankan container selama startup.
- Opsional: ARG1 dengan satu atau beberapa argumen untuk perintah yang dijalankan selama startup. Gunakan daftar yang dipisahkan koma untuk lebih dari satu argumen.
- IMAGE_URL dengan mereferensikan ke image container, misalnya,
Ganti layanan dengan konfigurasi baru menggunakan perintah berikut:
gcloud run services replace service.yaml