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 o serviço do Cloud Run para Anthos no Google Cloud. Especificar o máximo de instâncias no Cloud Run 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 Cloud Run for Anthos 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 máximo para o número máximo de instâncias usando o Console do Cloud ou a ferramenta de linha de comando gcloud ao implantar um novo serviço ou atualize um serviço atual e implante uma revisão:

Console

  1. Acessar o Cloud Run for Anthos no Google Cloud

  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.

    imagem

  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 Criar ou Implantar.

Linha de comando

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

    gcloud kuberun core 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 kuberun core services create com o parâmetro --max-instances:

    gcloud kuberun core services create 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/myproject/my-image:latest;
    • 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

Para usar um arquivo YAML para modificar a configuração do serviço atual, consiga uma cópia da configuração atual, modifique e salve as alterações em um arquivo local e, em seguida, implante essas alterações no serviço.

  1. Exiba como YAML e copie a configuração do serviço em um arquivo local, por exemplo, service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    Substitua SERVICE pelo nome do serviço do Cloud Run for Anthos.

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

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

    Replace

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

    gcloud beta run services replace service.yaml