Halaman ini menjelaskan beberapa hal yang perlu Anda ketahui untuk memulai 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 penampung 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 menjalankan aktivitas latar belakang di luar cakupan penanganan permintaan.
Anda dapat menemukan detail selengkapnya tentang batasan ini di Kontrak Runtime Penampung.
Dukungan bahasa pemrograman
Penayangan 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 penyaluran 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 menggunakan alat build
pihak ketiga, Anda dapat mengonfigurasi daemon Docker 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 Dockerfile saling menyesuaikan melalui tips dalam Praktik terbaik untuk menulis Dockerfile.
Langkah selanjutnya
- 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 penayangan Knative.
- Untuk praktik terbaik dalam mendesain, mengimplementasikan, menguji, dan men-deploy layanan dalam penayangan Knative, lihat Tips pengembangan.