Puedes configurar sondeos de verificación de estado de inicio de HTTP, TCP y gRPC, junto con sondeos de funcionamiento de HTTP y gRPC para servicios nuevos y existentes de Cloud Run. Configura un sondeo de inicio o funcionamiento para un servicio de Cloud Run mediante el archivo YAML. La configuración varía según el tipo de sondeo.
Puedes usar sondeos de verificación de funcionamiento para determinar cuándo reiniciar un contenedor, por ejemplo, a fin de detectar un interbloqueo en el que se ejecuta un servicio, pero no puede progresar. En este caso, reiniciar un contenedor puede aumentar la disponibilidad del servicio en caso de errores.
Puedes usar sondeos de inicio para determinar cuándo se inició un contenedor y está listo para aceptar tráfico.
Cuando configuras un sondeo de inicio, las verificaciones de funcionamiento se inhabilitan hasta que el sondeo de inicio determina que el contenedor se inicia para evitar interferencias en el inicio del servicio.
Los sondeos de inicio son útiles en especial si usas verificaciones en funcionamiento en contenedores de inicio lento, ya que evita que se cierren prematuramente antes de que los contenedores estén en funcionamiento.
Ten en cuenta que, cuando un servicio experimenta fallas repetidas de sondeo o inicio de funcionamiento, Cloud Run limita los reinicios de las instancias para evitar bucles de fallas no controlados.
Facturación y asignación de CPU
- La CPU se asigna para cada sondeo.
- Todos los sondeos se facturan por el consumo de CPU y memoria, pero no se aplican cargos basados en solicitudes.
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.
Configura sondeos de inicio
Puedes configurar sondeos de HTTP, TCP y gRPC.
Configura un sondeo de inicio HTTP
No hay sondeos de inicio HTTP predeterminados para HTTP, pero puedes configurar uno en el servicio de Cloud Run. Ten en cuenta que el uso de un sondeo de verificación de estado HTTP requiere que crees un extremo de verificación de estado HTTP correspondiente en tu servicio para responder al sondeo. Además, el servicio debe usar HTTP/1 (el valor predeterminado de Cloud Run), no HTTP/2.
Después de configurar el sondeo de inicio, Cloud Run realiza una solicitud GET HTTP al extremo de verificación de estado del servicio (por ejemplo, /ready
). Cualquier respuesta entre 200
y 400
es un éxito, todo lo demás indica un error.
Si un sondeo de inicio no se completa de forma correcta dentro del tiempo especificado (failureThreshold
* periodSeconds
), que no puede superar los 240 segundos, el contenedor se cierra.
Si el sondeo de inicio HTTP es correcto dentro del tiempo especificado y configuraste un sondeo de funcionamiento de HTTP, se inicia el sondeo de funcionamiento de HTTP.
Puedes configurar un sondeo de inicio HTTP con la consola de Google Cloud para un servicio existente, o YAML para un servicio nuevo o existente:
Consola
Haz clic en el servicio que deseas configurar.
Haz clic en la pestaña YAML.
Haz clic en Editar y configura el atributo
startupProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
replace
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - PATH por la ruta relativa al extremo HTTP, por ejemplo,
/ready
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- Se puede usar
httpHeaders
para proporcionar varios encabezados personalizados o repetidos mediante los campos HEADER_NAME y HEADER_VALUE (opcional). - DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 240. El valor predeterminado es 1. - (Opcional) THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo. El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (OPCIONAL). Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 240 segundos. El valor predeterminado es 10 segundos.
Haz clic en Guardar e implementar nueva revisión.
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración:
gcloud run services describe SERVICE --format export > service.yaml
Configura el atributo
startupProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
replace
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - PATH por la ruta relativa al extremo HTTP, por ejemplo,
/ready
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- Se puede usar
httpHeaders
para proporcionar varios encabezados personalizados o repetidos mediante los campos HEADER_NAME y HEADER_VALUE (opcional). - DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 240. El valor predeterminado es 1. - (Opcional) THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo. El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (OPCIONAL).
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 240 segundos. El valor predeterminado es 10 segundos.
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Configura el servicio de Cloud Run con el atributo startup_probe
como se muestra a continuación:
Crea extremos de verificación de estado HTTP
Si configuras el servicio de Cloud Run para un sondeo de inicio o
de funcionamiento de HTTP, debes agregar un extremo en el código de servicio para
responder al sondeo. El extremo puede tener el nombre que desees, por ejemplo,
/startup
o /ready
, pero deben coincidir con los valores que especifiques para
path
en la configuración del sondeo. Por ejemplo, si especificas /ready
para un
sondeo de inicio HTTP, debes especificar path
en la configuración de sondeo, como se muestra a continuación:
startupProbe: httpGet: path: /ready
Los extremos de la verificación de estado de HTTP son accesibles de forma externa y siguen los mismos principios que cualquier otro extremo de servicio HTTP que se exponga de forma externa.
Configura un sondeo de inicio de TCP
Un sondeo de inicio de TCP se configura de forma automática con valores predeterminados para un servicio de Cloud Run nuevo si no configuras un sondeo de inicio por tu cuenta. El sondeo predeterminado es equivalente a lo siguiente:
startupProbe: tcpSocket: port: CONTAINER_PORT timeoutSeconds: 240 periodSeconds: 240 failureThreshold: 1
En el ejemplo anterior, CONTAINER_PORT se configura como el puerto del contenedor que se usa para el servicio.
Puedes cambiar estos valores predeterminados según las instrucciones de esta sección.
En los sondeos de inicio de TCP, Cloud Run realiza una conexión TCP para abrir el socket de TCP en el puerto especificado. Si Cloud Run no puede establecer una conexión, indica un error.
Si un sondeo de inicio no se completa de forma correcta dentro del tiempo especificado (failureThreshold
* periodSeconds
), que no puede superar los 240 segundos, el contenedor se cierra.
Puedes configurar un sondeo de inicio de TCP con la consola de Google Cloud para un servicio existente o YAML para un servicio nuevo o existente:
Consola
Haz clic en el servicio que deseas configurar.
Haz clic en la pestaña YAML.
Haz clic en Editar y configura el atributo
startupProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: failureThreshold: THRESHOLD initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT periodSeconds: PERIOD tcpSocket: port: CONTAINER_PORT
replace
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 240. El valor predeterminado es 1. - THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo (opcional). El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (opcional).
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 240 segundos. El valor predeterminado es 10 segundos.
Haz clic en Guardar e implementar nueva revisión.
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración:
gcloud run services describe SERVICE --format export > service.yaml
Configura el atributo
startupProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: tcpSocket: port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- DELAY con una cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo. Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 240. El valor predeterminado es 1. - THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo El valor predeterminado es 3.
- PERIOD por el período (en segundos) en el que se realizará el sondeo.
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 240 segundos. El valor predeterminado es 10 segundos.
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Configura el servicio de Cloud Run con el atributo startup_probe
como se muestra a continuación:
Configura un sondeo de inicio de gRPC
Para usar un sondeo de inicio de gRPC, debes implementar el protocolo de verificación de estado de gRPC en tu servicio de Cloud Run y, luego, configurar el sondeo según corresponda, como se describe en esta sección.
Puedes configurar un sondeo de inicio de gRCP con la consola de Google Cloud para un servicio existente o YAML para un servicio nuevo o existente:
Consola
Haz clic en el servicio que deseas configurar.
Haz clic en la pestaña YAML.
Haz clic en Editar y configura el atributo
startupProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: grpc: service: GRPC_SERVICE port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- GRPC_SERVICE por el nombre del servicio de gRPC al que se enviará la verificación de estado.
- DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 240. El valor predeterminado es 1. - THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo (opcional). El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (opcional).
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 240 segundos. El valor predeterminado es 10 segundos.
Haz clic en Guardar e implementar nueva revisión.
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración:
gcloud run services describe SERVICE --format export > service.yaml
Configura el atributo
startupProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: grpc: service: GRPC_SERVICE port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - GRPC_SERVICE por el nombre del servicio de gRPC al que se enviará la verificación de estado.
- (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo (opcional). Este valor no puede exceder el valor especificado para periodSeconds. Especifica un valor de 1 a 240. El valor predeterminado es 1.
- (Opcional) THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo. El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (OPCIONAL).
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 240 segundos. El valor predeterminado es 10 segundos.
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
El servicio debe implementar verificaciones de estado de gRPC.
Configura el servicio de Cloud Run con el atributo startup_probe
como se muestra a continuación:
Configura un sondeo de funcionamiento
Puedes configurar los sondeos de funcionamiento HTTP y gRPC.
Configura un sondeo de funcionamiento HTTP
Si configuras un sondeo de inicio HTTP, el sondeo de funcionamiento solo comienza después de que el sondeo de inicio sea exitoso. Ten en cuenta que el uso de un sondeo de verificación de estado HTTP requiere que crees un extremo de verificación de estado HTTP correspondiente en tu servicio para responder al sondeo. Además, el servicio debe usar HTTP/1 (el valor predeterminado de Cloud Run), no HTTP/2.
Después de configurar el sondeo en funcionamiento y de que cualquier sondeo de inicio se realice de forma correcta,
Cloud Run realiza una solicitud GET
de HTTP al extremo de verificación de estado del servicio (por ejemplo, /health
). Cualquier respuesta entre
200
y 400
es un éxito, todo lo demás indica un error.
Si un sondeo de funcionamiento no funciona de forma correcta dentro del tiempo especificado
(failureThreshold
* periodSeconds
), el contenedor se cierra con una señal
de SIGKILL
. Las solicitudes restantes que el contenedor aún entregaba se finalizan
con el código de estado HTTP 503
. Después de cerrar el contenedor,
el ajuste de escala automático de Cloud Run inicia una instancia de contenedor nueva.
Puedes configurar un sondeo de capacidad de respuesta HTTP con la consola de Google Cloud para un servicio existente o YAML para un servicio nuevo o existente:
Consola
Haz clic en el servicio que deseas configurar.
Haz clic en la pestaña YAML.
Haz clic en Editar y configura el atributo
livenessProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: image: IMAGE_URL livenessProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - PATH por la ruta relativa al extremo HTTP, por ejemplo,
/ready
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- Se puede usar
httpHeaders
para proporcionar varios encabezados personalizados o repetidos mediante los campos HEADER_NAME y HEADER_VALUE (opcional). - DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 3,600. El valor predeterminado es 1. - (Opcional) THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo. El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (OPCIONAL).
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 3,600 segundos. El valor predeterminado es 10 segundos.
Haz clic en Guardar e implementar nueva revisión.
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración:
gcloud run services describe SERVICE --format export > service.yaml
Configura el atributo
livenessProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - PATH por la ruta relativa al extremo HTTP, por ejemplo,
/ready
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- Se puede usar
httpHeaders
para proporcionar varios encabezados personalizados o repetidos mediante los campos HEADER_NAME y HEADER_VALUE (opcional). - DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 3,600. El valor predeterminado es 1. - (Opcional) THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo. El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (OPCIONAL).
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 3,600 segundos. El valor predeterminado es 10 segundos.
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
El servicio debe implementar verificaciones de estado de gRPC.
Configura el servicio de Cloud Run con el atributo liveness_probe
como se muestra a continuación:
Después de la configuración del sondeo de HTTP, también debes crear un extremo de verificación de estado para responder al sondeo.
Configura un sondeo de funcionamiento de gRPC
Si configuras un sondeo de inicio de gRPC, el sondeo de funcionamiento comienza solo después de que el sondeo de inicio se realiza correctamente. Ten en cuenta que usar un sondeo de funcionamiento de gRPC requiere que implementes el protocolo de verificación de estado de gRPC en tu servicio de Cloud Run.
Después de configurar el sondeo de funcionamiento y de que cualquier sondeo de inicio se realice correctamente, Cloud Run realiza una solicitud de verificación de estado al servicio.
Si un sondeo de funcionamiento no funciona de forma correcta dentro del tiempo especificado
(failureThreshold
* periodSeconds
), el contenedor se cierra con una señal
de SIGKILL
. Después de cerrar el contenedor, el ajuste de escala automático de Cloud Run
inicia una instancia de contenedor nueva.
Puedes configurar un sondeo de funcionamiento HTTP con la consola de Google Cloud para un servicio existente o YAML para un servicio nuevo o existente:
Consola
Haz clic en el servicio que deseas configurar.
Haz clic en la pestaña YAML.
Haz clic en Editar y configura el atributo
livenessProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: image: IMAGE_URL livenessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- GRPC_SERVICE por el nombre del servicio de gRPC al que se enviará la verificación de estado.
- DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 3,600. El valor predeterminado es 1. - (Opcional) THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo. El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (OPCIONAL).
Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 3,600 segundos. El valor predeterminado es 10 segundos.
Haz clic en Guardar e implementar nueva revisión.
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración:
gcloud run services describe SERVICE --format export > service.yaml
Configura el atributo
livenessProbe
como se muestra a continuación:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL tiene el formatoREGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - (OPCIONAL) CONTAINER_PORT se debe configurar como el puerto del contenedor que se usa para el servicio.
- GRPC_SERVICE por el nombre del servicio de gRPC al que se enviará la verificación de estado.
- DELAY con la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo (opcional). Especifica un valor de 0 segundos a 240 segundos. El valor predeterminado es 0 segundos.
- TIMEOUT (opcional) por la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Este valor no puede exceder el valor especificado para
periodSeconds
. Especifica un valor de 1 a 3,600. El valor predeterminado es 1. - (Opcional) THRESHOLD por la cantidad de veces que se debe reintentar el sondeo antes de marcar el contenedor como No listo. El valor predeterminado es 3.
- PERIOD con el período (en segundos) en el que se realizará el sondeo (OPCIONAL). Por ejemplo,
2
para realizar el sondeo cada 2 segundos. Especifica un valor de 1 segundo a 3,600 segundos. El valor predeterminado es 10 segundos.
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Configura el servicio de Cloud Run con el atributo liveness_probe
como se muestra a continuación: