Configura la asignación de CPU

Aprende a especificar la cantidad de CPU que se asignará a cada instancia de contenedor de Knative serving. De forma predeterminada, Knative serving no especifica una cantidad mínima o máxima de CPU. Sus servicios están limitados por la cantidad de recursos disponibles. Obtén más información sobre los recursos de CPU en el contrato del entorno de ejecución de contenedores.

Configura y actualiza la asignación de CPU

Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.

Puedes configurar la asignación de CPU con la consola de Google Cloud, Google Cloud CLI, un archivo YAML cuando implementas un servicio nuevo o actualizas un servicio existente e implementas una revisión:

Console

  1. Ve a Knative serving en la consola de Google Cloud:

    Ir a Knative serving

  2. Haz clic en Crear servicio si quieres configurar un servicio nuevo en el que realizarás la implementación. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, haz clic en IMPLEMENTAR Y EDITAR UNA NUEVA REVISIÓN.

  3. En Configuración avanzada, haz clic en Contenedor.

  4. Selecciona la asignación de CPU deseada de la lista desplegable. Puedes seleccionar las cantidades que se especifican en la página sobre unidades de CPU de Kubernetes. Por ejemplo, especifica 1 para 1 CPU, 400m para 0.4 CPU, etcétera

  5. Haz clic en Siguiente para pasar a la siguiente sección.

  6. En la sección Configura la forma en que se activa el servicio, selecciona la conectividad que deseas usar para invocar el servicio.

  7. Haz clic en Crear para implementar la imagen en Knative serving y espera a que termine la implementación.

Línea de comandos

  • En el caso de los servicios existentes, configura la cantidad de CPU que se asignarán mediante la ejecución del comando gcloud run services update con el parámetro --cpu:

    gcloud run services update SERVICE --cpu CPU

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio
    • CPU con la asignación de CPU deseada. Especifica un valor en unidades de CPU de Kubernetes. Por ejemplo, especifica 1 para 1 CPU, 400m para 0.4 CPU, etcétera
  • En el caso de los servicios nuevos, configura la cantidad de CPU que se asignarán mediante la ejecución del comando gcloud run deploy con el parámetro --cpu:

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

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio
    • IMAGE_URL por una referencia a la imagen del contenedor, como gcr.io/cloudrun/hello
    • CPU con la asignación de CPU deseada. Especifica un valor en unidades de CPU de Kubernetes. Por ejemplo, especifica 1 para 1 CPU, 400m para 0.4 CPU, etcétera

YAML

Puedes descargar la configuración de un servicio existente en un archivo YAML con el comando gcloud run services describe mediante la marca --format=export. Luego, puedes modificar ese archivo YAML e implementar esos cambios con el comando gcloud run services replace. Debes asegurarte de modificar solo los atributos especificados.

  1. Descarga la configuración del servicio en un archivo llamado service.yaml en el lugar de trabajo local:

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

    Reemplaza SERVICE por el nombre de tu servicio de Knative serving.

  2. En tu archivo local, actualiza el atributo cpu:

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

    Reemplazar

    • SERVICE por el nombre de tu servicio de Knative serving
    • IMAGE por la URL de la imagen de contenedor
    • CPU por el valor de CPU deseado. Especifica un valor en unidades de CPU de Kubernetes. Por ejemplo, especifica 1 para 1 CPU, 400m para 0.4 CPU, etcétera
  3. Reemplaza el servicio por la configuración nueva mediante el siguiente comando:

    gcloud run services replace service.yaml