O diagrama seguinte mostra o modelo de recursos do Knative Serving:
O diagrama mostra um Google Cloud projeto que contém dois serviços do Knative ServingService A
e Service B
, cada um dos quais tem várias revisões.
No diagrama, Service A
está a receber muitos pedidos, o que resulta no início e na execução de várias instâncias de contentores. Tenha em atenção que o Service B
não está a receber pedidos atualmente, pelo que ainda não foi iniciada nenhuma instância do contentor.
Serviços Knative Serving
O serviço é o recurso principal do Knative Serving. Cada serviço está localizado num namespace do cluster do GKE específico.
Um determinado Google Cloud projeto pode executar muitos serviços em diferentes regiões ou clusters do GKE.
Cada serviço expõe um ponto final exclusivo e dimensiona automaticamente a infraestrutura subjacente para processar pedidos recebidos.
Revisões do Knative Serving
Cada implementação num serviço cria uma revisão. Uma revisão consiste numa imagem de contentor específica, juntamente com definições do ambiente, como variáveis do ambiente, limites de memória ou valor de simultaneidade.
As revisões são imutáveis: depois de criar uma revisão, não é possível modificá-la. Por exemplo, quando implementa uma imagem de contentor num novo serviço de publicação do Knative, é criada a primeira revisão. Se, em seguida, implementar uma imagem de contentor diferente nesse mesmo serviço, é criada uma segunda revisão. Se definir posteriormente uma variável de ambiente, é criada uma terceira revisão e assim sucessivamente.
As solicitações são encaminhadas automaticamente assim que possível para a revisão de serviço mais recente em bom estado. Pode dividir o tráfego entre diferentes revisões conforme desejado.
Instâncias de contentores do Knative Serving
Cada revisão que recebe pedidos é automaticamente dimensionada para o número de instâncias de contentores necessárias para processar todos estes pedidos. Tenha em atenção que uma instância do contentor pode receber muitos pedidos em simultâneo. Com a definição de simultaneidade, pode definir o número máximo de pedidos que podem ser enviados em paralelo para uma determinada instância do contentor.