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, a veiculação do Knative serving é escalonada 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 Google Cloud ou a Google Cloud CLI ao implantar um novo serviço ou atualizar um serviço atual 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í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 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ínimo de instâncias de contêiner executando o comando gcloud run services update com o parâmetro --min-instances

    gcloud run 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 run deploy com o parâmetro --min-instances:

    gcloud run deploy 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/cloudrun/hello;
    • 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.

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/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 run services replace service.yaml