Configura contenedores para grupos de trabajadores

En esta página, se describe cómo configurar el comando de punto de entrada y los argumentos para un grupo de trabajadores de Cloud Run.

Cuando Cloud Run inicia un contenedor, ejecuta el comando entrypoint predeterminado y los argumentos del comando predeterminados de la imagen. Si deseas anular el entrypoint predeterminado y los argumentos del comando de la imagen, puedes usar los campos command y args en la configuración del contenedor. El campo command especifica el comando real que ejecuta el contenedor. El campo args especifica los argumentos que se pasan a ese comando.

Ten en cuenta que puedes tener un máximo de 1,000 argumentos por contenedor para cada grupo de trabajadores.

Roles requeridos

Para obtener los permisos que necesitas para configurar e implementar grupos de trabajadores de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu grupo de trabajadores de Cloud Run interactúa con las APIs deGoogle Cloud , como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.

Configura un punto de entrada y argumentos

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.

El comando y los argumentos del contenedor especificados anulan las imágenes predeterminadas ENTRYPOINT y CMD.

Puedes establecer argumentos y comandos de punto de entrada para un grupo de trabajadores de Cloud Run con laGoogle Cloud consola, Google Cloud CLI o Terraform:

Console

  1. En la consola de Google Cloud , ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona Grupos de trabajadores en el menú y haz clic en Implementar contenedor para configurar un grupo de trabajadores nuevo. Si quieres configurar un grupo de trabajadores existente, haz clic en el grupo de trabajadores y, luego, en Implementar y editar una nueva revisión.

  3. Si configuras un grupo de trabajadores nuevo, completa la página inicial del grupo de trabajadores y, luego, haz clic en Contenedores, volúmenes, Herramientas de redes y seguridad para expandir la página de configuración del grupo de trabajadores.

  4. Haz clic en la pestaña Contenedor.

    imagen

    • Especifica el comando que deseas que ejecute el contenedor si no quieres usar el comando de punto de entrada definido en la imagen de contenedor. De manera opcional, especifica los argumentos del comando de punto de entrada.
  5. Haz clic en Crear o Implementar.

gcloud

Para actualizar el comando de inicio y los argumentos de un servicio existente, sigue estos pasos:

gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N

Reemplaza lo siguiente:

  • WORKER_POOL: Es el nombre del grupo de trabajadores.
  • COMMAND: Es el comando con el que se inicia el contenedor si no usas el comando predeterminado.
  • ARG1: Es el argumento que envías al comando del contenedor. Usa una lista delimitada por comas para más de un argumento.

Para especificar un punto de entrada y argumentos durante la implementación de un grupo de trabajadores nuevo o existente, haz lo siguiente:

gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

Reemplaza IMAGE_URL por una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.

Si deseas restablecer los valores predeterminados del contenedor para los comandos y argumentos del punto de entrada, proporciona cadenas vacías de la siguiente manera:

gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""

Terraform

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      command = ["COMMAND"]
      args = ["ARG1", "ARG2"]
    }
  }
}

Reemplaza lo siguiente:

  • WORKER_POOL: Es el nombre del grupo de trabajadores.
  • REGION: La región Google Cloud , por ejemplo,europe-west1.
  • IMAGE_URL: Es una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • COMMAND: Es el comando con el que se inicia el contenedor si no usas el comando predeterminado.
  • ARG1, ARG2: Son los argumentos que envías al comando del contenedor.

Configura el orden de inicio del contenedor para implementaciones de sidecar

Para especificar el orden de inicio del contenedor en una implementación de sidecar, usa la función de dependencias de contenedores. Especifica cualquier contenedor que tenga dependencias y enumera los contenedores de los que dependen, de modo que esos contenedores se inicien primero. Los contenedores que no tienen dependencias siempre se inician primero y de forma simultánea.

Para usar esta función correctamente, debes usar sondeos de verificación de estado de inicio. El sondeo de inicio permite que Cloud Run inspeccione el estado de un contenedor dependiente, lo que garantiza que pase correctamente antes de iniciar el siguiente contenedor. Si no usas verificaciones de estado, los contenedores se inician en el orden especificado, incluso si los contenedores de los que dependen no pueden iniciarse.

Ten en cuenta que no hay un sondeo de verificación de estado de inicio predeterminado para los grupos de trabajadores.

Usa la Google Cloud consola o Google Cloud CLI para especificar el orden de inicio:

Console

  1. En la consola de Google Cloud , ve a la página de Cloud Run:

    Ir a Cloud Run

    • Selecciona Grupos de trabajadores en el menú.
    • En el caso de un grupo de trabajadores existente, haz clic en el grupo de trabajadores de la lista y selecciona Editar e implementar nueva revisión para mostrar el formulario de implementación de revisión.
    • En el caso de un grupo de trabajadores nuevo, haz clic en Implementar contenedor para mostrar el formulario Crear grupo de trabajadores.
  2. Para un grupo de trabajadores nuevo, especifica el nombre del grupo de trabajadores, la URL del contenedor de entrada, la asignación de CPU, el control de entrada y la autenticación. En la pestaña Contenedores, volúmenes, Herramientas de redes y seguridad, haz lo siguiente:

    1. Configura el contenedor de entrada.
    2. Para agregar cada uno de los otros contenedores que implementas, haz clic en Agregar contenedor.
    3. Para todos los contenedores, excepto el contenedor de entrada, configura una verificación de estado de inicio.
    4. Si un contenedor debe iniciarse después de otros contenedores, selecciona esos contenedores en el menú Orden de inicio del contenedor.
  3. Para un grupo de trabajadores existente, sigue estos pasos:

    1. Para todos los contenedores, excepto el contenedor de entrada, configura una verificación de estado de inicio.
    2. Cada contenedor se muestra con su propio menú de Orden de inicio del contenedor. Si un contenedor necesita que otros contenedores se inicien antes de poder iniciarse, usa el menú Orden de inicio del contenedor para seleccionar los contenedores que deben iniciarse primero.
  4. Finaliza cualquier otra configuración necesaria y, luego, haz clic en Crear para un grupo de trabajadores nuevo o en Implementar en un grupo de trabajadores existente. Espera a que finalice la implementación.

gcloud

Antes de usar Google Cloud CLI para especificar el orden de inicio, configura una verificación de estado de inicio.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Para implementar varios contenedores en un servicio con un orden de inicio especificado, ejecuta el siguiente comando:

  3. gcloud beta run worker-pools deploy WORKER_POOL \
         --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE'
         --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \
         --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME

    Reemplaza lo siguiente:

    • WORKER_POOL: Es el nombre del grupo de trabajadores.
    • IMAGE_URL: Es una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • SIDECAR_IMAGE: Es una referencia a la imagen del contenedor del sidecar.

      Si deseas configurar cada contenedor en el comando de implementación, proporciona la configuración de cada contenedor después de los parámetros de container.

Visualiza la configuración del contenedor para el grupo de trabajadores

  1. En la consola de Google Cloud , ve a Cloud Run:

    Ir a Cloud Run

  2. Haz clic en Grupos de trabajadores para ver la lista de grupos de trabajadores implementados.

  3. Haz clic en el grupo de trabajadores que deseas examinar para mostrar su panel de detalles.

  4. Haz clic en la pestaña Contenedores para mostrar la configuración del contenedor del grupo de trabajadores.