Definir um número máximo de instâncias de contentores

Saiba como definir o número máximo de instâncias de contentores que podem ser usadas para o seu serviço de publicação do Knative. A especificação de instâncias máximas na publicação do Knative permite limitar o dimensionamento do seu serviço em resposta a pedidos recebidos. Use esta definição como forma de controlar os custos ou limitar o número de ligações a um serviço de apoio, como uma base de dados.

Para mais informações sobre a forma como o Knative Serving ajusta automaticamente a escala das instâncias de contentores, consulte o artigo Ajuste automático da escala de instâncias.

Definir e atualizar o número máximo de instâncias

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, o número de instâncias de contentores pode ser dimensionado infinitamente. Pode definir um limite superior para o número máximo de instâncias através daGoogle 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

  1. Aceda ao Knative serving na Google Cloud consola:

    Aceda ao Knative serving

  2. 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.

  3. Em Definições avançadas, clique em Contentor.

  4. No campo com a etiqueta Número máximo de instâncias, especifique o número máximo de instâncias do contentor pretendido.

  5. Clique em Seguinte para continuar para a secção seguinte.

  6. Na secção Configure como este serviço é acionado, selecione a conetividade que quer usar para invocar o serviço.

  7. 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áximo de instâncias de contentores executando o comando gcloud run services update com o parâmetro --max-instances:

    gcloud run services update SERVICE --max-instances MAX-VALUE

    Substituição:

    • SERVICE com o nome do seu serviço.
    • MAX-VALUE com o número máximo desejado de instâncias do contentor. Especifique default para limpar qualquer definição de instância máxima.
  • Para novos serviços, defina o número máximo de instâncias do contentor executando o comando gcloud run deploy com o parâmetro --max-instances:

    gcloud run deploy SERVICE --image=IMAGE_URL --max-instances MAX-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.
    • MAX-VALUE com o número máximo desejado de instâncias do contentor. Especifique default para limpar qualquer definição de instância máxima.

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.

  1. 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.

  2. No ficheiro local, atualize o atributo autoscaling.knative.dev/maxScale::

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/maxScale: 'MAX-INSTANCE' 

    Substituir

    • MAX-INSTANCE com o número máximo desejado.
  3. Substitua o serviço pela respetiva nova configuração através do seguinte comando:

    gcloud run services replace service.yaml