Saiba como ativar instâncias inativas para os seus serviços configurando a definição de instâncias mínimas.
Por predefinição, o Knative Serving dimensiona até ao número de instâncias com base no número de pedidos recebidos. No entanto, se o seu serviço exigir uma latência reduzida e quiser limitar o número de inícios a frio, pode alterar este comportamento predefinido especificando um número mínimo de instâncias de contentores a manter em execução e prontas para processar pedidos.
As instâncias que continuam a ser executadas desta forma incorrem em custos de faturação.
Revisões e instâncias mínimas
As instâncias mínimas só são iniciadas se a revisão for endereçável. Uma revisão é endereçável se alguma das seguintes afirmações for verdadeira:
- Recebe uma percentagem do tráfego.
- Foi-lhe atribuída uma etiqueta de revisão.
Definir e atualizar instâncias mínimas
Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também recebem automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.
Por predefinição, as instâncias de contentores têm a opção min-instances desativada, com uma definição de 0. Pode alterar esta predefinição através da Google Cloud consola
ou da CLI Google Cloud quando implementa um novo
serviço ou atualiza um serviço existente e
implementa uma revisão:
Consola
Aceda ao Knative serving na Google Cloud consola:
Clique em Criar serviço se estiver a configurar um novo serviço para o qual está a implementar. Se estiver a configurar um serviço existente, clique no serviço e, de seguida, em Editar e implementar nova revisão.
Em Definições avançadas, clique em Contentor.
No campo com a etiqueta Número mínimo de instâncias, especifique o número desejado de instâncias de contentores a manter ativas, prontas para receber pedidos.
Clique em Seguinte para continuar para a secção seguinte.
Na secção Configure como este serviço é acionado, selecione a conetividade que quer usar para invocar o serviço.
Clique em Criar para implementar a imagem no Knative Serving e aguarde que a implementação termine.
Linha de comandos
Para serviços existentes, defina o número mínimo de instâncias de contentores executando o comando
gcloud run services updatecom o parâmetro--min-instances:gcloud run services update SERVICE --min-instances MIN-VALUE
Substituição:
- SERVICE com o nome do seu serviço.
- MIN-VALUE com o número desejado de instâncias do contentor
a manter ativas, prontas para receber pedidos. Especifique
defaultpara limpar qualquer definição de instância mínima.
Para novos serviços, defina o número mínimo de instâncias do contentor executando o comando
gcloud run deploycom o parâmetro--min-instances:gcloud run deploy SERVICE --image=IMAGE_URL --min-instances MIN-VALUE
Substituição:
- SERVICE com o nome do seu serviço.
- IMAGE_URL com uma referência à imagem do contentor, por exemplo,
gcr.io/cloudrun/hello. - MIN-VALUE com o número desejado de instâncias de contentores a manter ativas, prontas para receber pedidos. Especifique
defaultpara limpar qualquer definição de instância mínima.
YAML
Pode transferir a configuração de um serviço existente para um ficheiro YAML com o comando gcloud run services describe usando a flag --format=export.
Em seguida, pode modificar esse ficheiro YAML e implementar essas alterações com o comando gcloud run services replace.
Tem de garantir que modifica apenas os atributos especificados.
Transfira a configuração do seu serviço para um ficheiro denominado
service.yamlno espaço de trabalho local:gcloud run services describe SERVICE --format export > service.yaml
Substitua SERVICE pelo nome do seu serviço de fornecimento do Knative.
No ficheiro local, atualize o atributo
autoscaling.knative.dev/minScale::spec: template: metadata: annotations: autoscaling.knative.dev/minScale: 'MIN-INSTANCE'
Substituição:
- MIN-VALUEcode> com o número desejado de instâncias de contentores a manter ativas, prontas para receber pedidos. Especifique
defaultpara limpar qualquer definição de instância mínima.
- MIN-VALUEcode> com o número desejado de instâncias de contentores a manter ativas, prontas para receber pedidos. Especifique
Substitua o serviço pela respetiva nova configuração através do seguinte comando:
gcloud run services replace service.yaml