Configurar a atribuição de CPU

Saiba como especificar o número de CPUs a atribuir a cada instância de contentor de serviço do Knative. Por predefinição, o Knative Serving não especifica um número mínimo nem máximo de CPUs. Em alternativa, os seus serviços são limitados pela quantidade de recursos disponíveis. Saiba mais sobre os recursos da CPU no contrato de tempo de execução do contentor.

Definir e atualizar a atribuição de CPU

Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também recebem automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.

Pode definir a atribuição de CPU através da Google Cloud consola, da CLI do Google Cloud ou de um ficheiro YAML 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. Selecione a atribuição de CPU pretendida na lista pendente. Pode selecionar números em unidades de CPU do Kubernetes. Por exemplo, especifique 1 para 1 CPU, 400m para 0, 4 CPU e assim sucessivamente.

  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 os serviços existentes, defina o número de CPUs a atribuir executando o comando gcloud run services update com o parâmetro --cpu:

    gcloud run services update SERVICE --cpu CPU

    Substituição:

    • SERVICE com o nome do seu serviço.
    • CPU com a atribuição de CPU pretendida. Especifique um valor em unidades de CPU do Kubernetes. Por exemplo, especifique 1 para 1 CPU, 400m para 0, 4 CPU e assim sucessivamente.
  • Para novos serviços, defina o número de CPUs a atribuir executando o comando gcloud run deploy com o parâmetro --cpu:

    gcloud run deploy SERVICE --image=IMAGE_URL --cpu CPU

    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.
    • CPU com a atribuição de CPU pretendida. Especifique um valor em unidades de CPU do Kubernetes. Por exemplo, especifique 1 para 1 CPU, 400m para 0, 4 CPU e assim sucessivamente.

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 cpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                cpu: CPU

    Substituir

    • SERVICE com o nome do seu serviço Knative Serving
    • IMAGE com o URL da imagem do contentor.
    • CPU com o valor da CPU pretendido. Especifique um valor em unidades de CPU do Kubernetes. Por exemplo, especifique 1 para 1 CPU, 400m para 0, 4 CPU e assim sucessivamente.
  3. Substitua o serviço pela respetiva nova configuração através do seguinte comando:

    gcloud run services replace service.yaml