Halaman ini menjelaskan beberapa hal yang perlu Anda ketahui untuk mulai mengembangkan layanan untuk penayangan Knative.
Persyaratan kode
Anda harus memenuhi syarat berikut saat Anda mengembangkan layanan:
- Layanan harus memproses permintaan.
Anda dapat mengkonfigurasikan port
untuk mengirim permintaan.
Di dalam instance container penayangan Knative, nilai variabel lingkungan
PORT
selalu mencerminkan port tujuan pengiriman permintaan. Kode Anda harus memeriksa keberadaan variabel lingkunganPORT
ini dan jika ada, harus memprosesnya untuk memaksimalkan portabilitas. - Layanan harus stateless. Kebijakan ini tidak dapat bergantung pada status lokal yang persisten.
- Layanan tidak boleh melakukan aktivitas latar belakang di luar cakupan penanganan permintaan.
Anda dapat menemukan detail selengkapnya tentang batasan ini di Kontrak Runtime Container.
Dukungan bahasa pemrograman
Layanan Knative memungkinkan Anda menulis kode dalam bahasa pemrograman pilihan Anda.
Menggunakan server web
Anda dapat menggunakan server web untuk memantau port yang diperlukan, dan memproses serta mengarahkan permintaan masuk. Misalnya, developer Node.js dapat menggunakan Express.js, developer Python dapat menggunakan Flask, developer Ruby dapat menggunakan Sinatra, dan sebagainya.
Mem-build kode dalam container
Untuk men-deploy ke penayangan Knative, Anda harus menyediakan image container. Image container adalah format paket yang mencakup kode Anda, paketnya, dependensi biner apa pun yang diperlukan, sistem operasi yang akan digunakan, dan hal lain yang diperlukan untuk menjalankan layanan Anda.
File bernama Dockerfile biasa digunakan untuk mendeklarasikan cara membangun image container.
Dockerfiles sering kali dimulai dari image dasar (misalnya FROM golang:1.11
).
Anda dapat menemukan image dasar yang dikelola oleh penulis OS dan bahasa di
Docker Hub. Cloud Build memeriksa image yang di-cache sebelum mengambilnya dari Docker Hub. Jika Anda menggunakan alat build
pihak ketiga, Anda dapat mengonfigurasi daemon Docker Anda untuk memeriksa image di cache yang sama. Anda juga dapat menemukan image dasar yang dikelola oleh Google di
Google Cloud Marketplace.
Jika Anda membawa biner sendiri, pastikan biner tersebut dikompilasi untuk ABI Linux x86_64.
Resource ini menyediakan informasi lebih lanjut tentang Dockerfile:
- Pelajari sintaksis Dockerfile melalui referensi Dockerfile.
- Pelajari cara menyesuaikan Dockerfile melalui tips dalam Praktik terbaik untuk menulis Dockerfile.
Langkah berikutnya
- Setelah memiliki kode layanan dan Dockerfile, Anda harus mem-build image container, lalu melanjutkan iterasi dalam pengujian lokal.
- Jika Anda memigrasikan aplikasi web yang sudah ada, lihat Memigrasikan Layanan Anda ke Knative serving.
- Untuk praktik terbaik dalam mendesain, mengimplementasikan, menguji, dan men-deploy layanan dalam penayangan Knative, lihat Tips pengembangan.