Como usar instâncias mínimas

Saiba como ativar instâncias ociosas para seus serviços definindo a configuração mínima de instâncias.

Por padrão, o Cloud Run para Anthos no Google Cloud escalona até o número de instâncias com base no número de solicitações recebidas. No entanto, se o serviço exigir latência reduzida e você quiser limitar o número de inicializações a frio, poderá alterar esse comportamento padrão especificando um número mínimo de instâncias de contêiner que manterão em execução e prontas para veicular solicitações.

As instâncias em execução dessa maneira geram custos de faturamento.

Revisões e instâncias mínimas

As instâncias mínimas serão iniciadas apenas se a revisão for endereçável. Uma revisão será endereçável se uma das seguintes condições for verdadeira:

  • Ela recebe uma porcentagem do tráfego.
  • Uma tag de revisão foi atribuída a ela.

Como configurar e atualizar instâncias mínimas

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, as instâncias de contêiner têm min-instances desativado, com uma configuração de 0. É possível alterar esse padrão usando o Console do Cloudvou a ferramenta de linha de comando gcloud ao implantar um novo serviço ou atualizar 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ínimo de instâncias, especifique o valor desejado de instâncias de contêiner a serem mantidas quentes e prontas para receber solicitações.

  5. Clique em Criar ou Implantar.

Linha de comando

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

    gcloud kuberun core services update SERVICE --min-instances MIN-VALUE
    

    Substitua:

    • SERVICE pelo nome do serviço;
    • MIN-VALUE pelo número pretendido de instâncias de contêiner a serem mantidas quentes e prontas para receber solicitações. Especifique default para limpar qualquer configuração mínima de instância.
  • Para novos serviços, defina o número mínimo de instâncias de contêiner executando o comando gcloud kuberun core services create com o parâmetro --min-instances:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --min-instances MIN-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;
    • MIN-VALUEcode> com o número desejado de instâncias de contêiner a serem mantidas, prontas para receber solicitações. Especifique default para limpar qualquer configuração mínima de 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/minScale::

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/minScale: 'MIN-INSTANCE' 

    Substitua:

    • MIN-VALUEcode> com o número desejado de instâncias de contêiner a serem mantidas, prontas para receber solicitações. Especifique default para limpar qualquer configuração mínima de instância.
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud beta run services replace service.yaml