Obtén información sobre cómo configurar el puerto de contenedor y el comando y los argumentos del punto de entrada del contenedor.
Cuando Cloud Run for Anthos en Google Cloud inicia un contenedor, ejecuta el comando entrypoint predeterminado de la imagen y los argumentos de comando predeterminados. 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.
Configura el puerto del contenedor
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 contenedor debe escuchar en el puerto que define la variable de entorno PORT
en lugar de un puerto codificado específico.
Sin embargo, si esto no es posible, puedes configurar desde qué puerto se envían las solicitudes al contenedor:
Console
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.
En Configuración avanzada, haz clic en Contenedor.
Especifica el puerto al que deseas que se envíen las solicitudes, si no es el valor predeterminado de
8080
. Con esto también se establece la variable de entornoPORT
.Haz clic en Crear o Implementar.
Línea de comandos
Para servicios existentes, actualiza una configuración de puerto mediante la ejecución del comando
gcloud kuberun core services update
con los siguientes parámetros:gcloud kuberun core services update SERVICE --port PORT
Reemplaza lo siguiente:
- SERVICE por el nombre del servicio
- PORT por el puerto al que se envían las solicitudes Ten en cuenta que el puerto predeterminado es
8080
Para servicios nuevos, configura el puerto mediante la ejecución del comando
gcloud kuberun core services create
con el parámetro--port
:gcloud kuberun core services create SERVICE --image=IMAGE_URL --port PORT
Reemplaza lo siguiente:
- SERVICE por el nombre del servicio
- IMAGE_URL por una referencia a la imagen del contenedor, como
gcr.io/myproject/my-image:latest
- PORT por el puerto al que se envían las solicitudes Ten en cuenta que el puerto predeterminado es
8080
YAML
Si deseas usar un archivo YAML para modificar la configuración de tu servicio existente, obtén una copia de la configuración actual, modifica y guarda los cambios en un archivo local y, luego, implementa esos cambios en tu servicio.
Muestra como YAML y, luego, copia la configuración de tu servicio en un archivo local, por ejemplo
service.yaml
:gcloud kuberun core services describe SERVICE --format yaml
Reemplaza SERVICE por el nombre de tu servicio de Cloud Run for Anthos.
En tu archivo local, actualiza el atributo
containerPort:
:apiVersion: serving.knative.dev/v1 kind: Service spec: template: spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
Reemplazar
- IMAGE_URL por una referencia a la imagen del contenedor, como
gcr.io/myproject/my-image:latest
- PORT por el puerto al que se envían las solicitudes
- IMAGE_URL por una referencia a la imagen del contenedor, como
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud beta run services replace service.yaml
Configura el comando y los argumentos del entrypoint del contenedor
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.
Cuando Cloud Run para Anthos en Google Cloud inicia un contenedor, ejecuta el comando de punto de entrada predeterminado de la imagen.
Para especificar o anular el comando y los argumentos del punto de entrada existentes que se definen en la imagen del contenedor, puedes establecer la configuración command
y args
en la configuración del contenedor de Cloud Run for Anthos.
Puedes configurar comandos, argumentos o ambos. El comando que especifiques en Cloud Run for Anthos anula cualquier comando de punto de entrada que se define en la imagen de contenedor. Si eliges especificar solo argumentos, se pasan y ejecutan el comando de punto de entrada definido en la imagen del contenedor.
En Cloud Run for Anthos, puedes configurar argumentos y argumentos del punto de entrada con Cloud Console, la herramientagcloud
herramienta de línea de comandos, o un archivo YAML
cuando implementas una nuevaservicio , actualizar un servicio existente o implementar unrevisión:
Console
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.
En Configuración avanzada, haz clic en Contenedor.
Especifica el comando y los argumentos del punto de entrada que deseas que el contenedor se ejecute durante el inicio.
Haz clic en Crear o Implementar.
Línea de comandos
Opciones de parámetro del comando
-
Para especificar un argumento que contiene una coma (
,
), debes escapar cadaARG
con un delimitador diferente. Por ejemplo, si usas@
:--args "^@^arg,with,commas@anotherarg@ARG3..."
-
A fin de especificar varios conjuntos de pares clave-valor, puedes especificar varios parámetros para facilitar la lectura. Ejemplo:
[...] --args "
ARG
1" \ --args "ARG
2" \ --args "ARG
3" -
Si deseas usar signos igual (
=
) en tus argumentos, debes especificar cada argumento con el siguiente formato:gcloud kuberun core services ... \ --args "--repo-allowlist=github.com/example/example_demo" \ --args "--gh-webhook-secret=XX"
Para servicios existentes, actualiza el comando entrypoint mediante la ejecución del comando
gcloud kuberun core services update
con los siguientes parámetros:gcloud kuberun core services update SERVICE --command COMMAND --args ARG1,ARG2,ARG-N
Reemplaza lo siguiente:
- SERVICE por el nombre del servicio
- De manera opcional, COMMAND con el comando que deseas que el contenedor se ejecute durante el inicio.
- Opcional: ARG1 con uno o más argumentos para el comando que se ejecuta durante el inicio. Usa una lista delimitada por comas para varios argumentos. Cómo dar formato a tus argumentos.
Para servicios nuevos, configura el comando entrypoint mediante la ejecución del comando
gcloud kuberun core services create
con el parámetro--command
:gcloud kuberun core services create SERVICE --image=IMAGE_URL --command COMMAND --args ARG1,ARG2,ARG-N
Reemplaza lo siguiente:
- SERVICE por el nombre del servicio
- IMAGE_URL por una referencia a la imagen del contenedor, como
gcr.io/myproject/my-image:latest
- De manera opcional, COMMAND con el comando que deseas que el contenedor se ejecute durante el inicio.
- Opcional: ARG1 con uno o más argumentos para el comando que se ejecuta durante el inicio. Usa una lista delimitada por comas para varios argumentos. Cómo dar formato a tus argumentos.
YAML
Si deseas usar un archivo YAML para modificar la configuración de tu servicio existente, obtén una copia de la configuración actual, modifica y guarda los cambios en un archivo local y, luego, implementa esos cambios en tu servicio.
Muestra como YAML y, luego, copia la configuración de tu servicio en un archivo local, por ejemplo
service.yaml
:gcloud kuberun core services describe SERVICE --format yaml
Reemplaza SERVICE por el nombre de tu servicio de Cloud Run for Anthos.
En tu archivo local, actualiza los atributos
command
yargs
:apiVersion: serving.knative.dev/v1 kind: Service spec: template: spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
Reemplaza lo siguiente:
- IMAGE_URL por una referencia a la imagen del contenedor, como
gcr.io/myproject/my-image:latest
- De manera opcional, COMMAND con el comando que deseas que el contenedor se ejecute durante el inicio.
- Opcional: ARG1 con uno o más argumentos para el comando que se ejecuta durante el inicio. Usa una lista delimitada por comas para más de un argumento.
- IMAGE_URL por una referencia a la imagen del contenedor, como
Reemplaza el servicio por la configuración nueva mediante el comando siguiente:
gcloud beta run services replace service.yaml