Esta página descreve alguns aspetos que precisa de saber para começar a desenvolver um serviço para o Knative Serving.
Requisitos de código
Tem de cumprir os seguintes requisitos quando desenvolve um serviço:
- O serviço tem de ouvir os pedidos.
Pode configurar a porta
na qual os pedidos são enviados.
Nas instâncias de contentores de publicação do Knative, o valor da variável de ambiente
PORT
reflete sempre a porta para a qual os pedidos são enviados. O seu código deve verificar a existência desta variável de ambientePORT
e, se estiver presente, deve ouvi-la para maximizar a portabilidade. - O serviço tem de ser sem estado. Não pode depender de um estado local persistente.
- O serviço não pode realizar atividades em segundo plano fora do âmbito do processamento de pedidos.
Pode encontrar mais detalhes sobre estas restrições no Container Runtime Contract.
Suporte de linguagens de programação
O Knative serving permite-lhe escrever código na linguagem de programação da sua escolha.
Usar um servidor Web
Pode usar um servidor Web para ouvir na porta necessária e para processar e encaminhar pedidos recebidos. Por exemplo, os programadores de Node.js podem usar o Express.js, os programadores de Python podem usar o Flask, os programadores de Ruby podem usar o Sinatra e assim sucessivamente.
Colocar o código em contentores
Para implementar no Knative Serving, tem de fornecer uma imagem de contentor. Uma imagem de contentor é um formato de pacote que inclui o seu código, os respetivos pacotes, quaisquer dependências binárias necessárias, o sistema operativo a usar e tudo o mais necessário para executar o seu serviço.
Um ficheiro denominado Dockerfile é usado normalmente para declarar como criar a imagem do contentor.
Os ficheiros Dockerfile começam frequentemente com uma imagem base (por exemplo, FROM golang:1.11
).
Pode encontrar imagens base mantidas por autores de SO e idiomas no
Docker Hub. O Cloud Build verifica se existem imagens em cache antes de as extrair do Docker Hub. Se usar uma ferramenta de compilação de terceiros, pode configurar o seu daemon Docker para verificar se existem imagens na mesma cache. Também pode encontrar imagens base geridas pela Google no Google Cloud Marketplace.
Se usar os seus próprios binários, certifique-se de que são compilados para o ABI x86_64 do Linux.
Estes recursos fornecem mais informações sobre os Dockerfiles:
- Aprenda a sintaxe do Dockerfile através da referência do Dockerfile.
- Saiba como os Dockerfiles se encaixam através das dicas em Práticas recomendadas para escrever Dockerfiles.
O que se segue?
- Depois de ter o código do serviço e o Dockerfile, deve criar uma imagem de contentor e, em seguida, continuar a iterar no teste local.
- Se estiver a migrar uma aplicação Web existente, consulte o artigo Migrar o seu serviço para o Knative Serving.
- Para ver as práticas recomendadas para conceber, implementar, testar e implementar um serviço no Knative Serving, consulte as Sugestões de desenvolvimento.