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 vão receber 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 update
com 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
default
para 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 deploy
com 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
default
para 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.yaml
no 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
default
para 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