Como definir um número máximo de instâncias de contêiner

Saiba como definir o número máximo de instâncias de contêiner que podem ser usadas para seu serviço do Knative serving. Especificar o máximo de instâncias no Knative serving permite limitar o escalonamento do serviço em resposta a solicitações recebidas. Use essa configuração como uma maneira de controlar custos ou de limitar o número de conexões com um serviço de apoio, como um banco de dados.

Para mais informações sobre como o Knative serving faz o escalonamento automático das instâncias de contêiner, consulte Escalonamento automático de instâncias.

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

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também receberão automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

Por padrão, o número de instâncias de contêiner pode ser escalonado infinitamente. É possível definir um limite para o número máximo de instâncias usando o console do Google Cloud ou a Google Cloud CLI ao implantar um novo serviço ou atualizar um que já existe e implantar uma revisão:

Console

  1. Acesse o Knative serving no console do Google Cloud:

    Acessar o Knative serving

  2. Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar uma nova revisão.

  3. Em Configurações avançadas, clique em Contêiner.

  4. No campo Número máximo de instâncias, especifique o número máximo desejado de instâncias de contêiner.

  5. Clique em Avançar para acessar a próxima seção.

  6. Na seção Configurar como este serviço é acionado, selecione qual conectividade você quer usar para invocar o serviço.

  7. Clique em Criar para implantar a imagem no Knative serving e aguarde até que a implantação seja concluída.

Linha de comando

  • Para serviços existentes, defina o número máximo de instâncias de contêiner executando o comando gcloud run services update com o parâmetro --max-instances:

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

    Substitua:

    • SERVICE pelo nome do serviço;
    • MAX-VALUE pelo número máximo de instâncias de contêiner que você quer. Especifique default para limpar qualquer configuração máxima da instância.
  • Para novos serviços, defina o número máximo de instâncias de contêiner executando o comando gcloud run deploy com o parâmetro --max-instances:

    gcloud run deploy SERVICE --image=IMAGE_URL --max-instances MAX-VALUE

    Substitua:

    • SERVICE pelo nome do serviço;
    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, gcr.io/cloudrun/hello;
    • MAX-VALUE pelo número máximo de instâncias de contêiner que você quer. Especifique default para limpar qualquer configuração máxima da instância.

YAML

Faça o download da configuração de um serviço existente para um arquivo YAML com o comando gcloud run services describe usando a sinalização --format=export. Em seguida, modifique o arquivo YAML e implante essas alterações com o comando gcloud run services replace. Modifique apenas os atributos especificados.

  1. Faça o download da configuração do serviço em um arquivo chamado service.yaml no espaço de trabalho local:

    gcloud run services describe SERVICE --format export > service.yaml

    Substitua SERVICE pelo nome do serviço de veiculação do Knative serving.

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

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

    Substituir

    • MAX-INSTANCE pelo número máximo que você quer.
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud run services replace service.yaml