En esta página, se describe cómo crear un servicio y ver su información.
Cada servicio tiene una URL run.app
única y permanente que no cambiará con el tiempo a medida que implementes revisiones nuevas. Las funciones que se implementan en
Cloud Run también se consideran un servicio y se les asigna una dirección run.app
. El dominio permanente del servicio consta del nombre del servicio y un hash.
Roles obligatorios
Para obtener los permisos que necesitas para administrar los servicios y las revisiones de Cloud Run,
pídele a tu administrador que te otorgue el rol de IAM
Desarrollador de Cloud Run (roles/run.developer
) en el servicio de Cloud Run.
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 servicio 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.
Cómo crear un servicio
Para crear un servicio nuevo, debes implementar una imagen de contenedor en él por primera vez. Para implementar un servicio nuevo, se requieren más instrucciones.
Visualiza la lista de servicios en el proyecto
Puedes ver una lista de los servicios disponibles en el proyecto mediante la consola de Google Cloud o la línea de comandos de gcloud:
Para ver la lista de servicios, debes hacer lo siguiente:
En la Google Cloud consola, ve a Cloud Run:
Examinar la lista de servicios que se muestra para el proyecto:
Para enumerar los servicios del proyecto, ejecuta este comando:
gcloud run services list
Ten en cuenta que cada servicio tiene una URL asociada.
Puedes filtrar esta lista por propiedades de la definición del servicio, como una etiqueta asignada.
A fin de ver la lista de servicios con Cloud Code, lee las guías de Cloud Run Explorer para IntelliJ y Visual Studio Code.
Para ver la lista de servicios desde el código, haz lo siguiente:
Para ver la lista de servicios de tu proyecto, envía una solicitud HTTP GET
al extremo service
de la API de Cloud Run Admin.
Por ejemplo, con curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: BearerACCESS_TOKEN " \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID /locations/REGION /services
Reemplaza lo siguiente:
- ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para ver servicios.
Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con
gcloud auth print-access-token
. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - REGION por la Google Cloud región del servicio.
- PROJECT-ID por el Google Cloud ID del proyecto.
Visualiza la lista de funciones en el proyecto
Puedes ver una lista de las funciones disponibles en tu proyecto a través de la consola de Google Cloud:
Para filtrar funciones en tu lista de servicios, haz lo siguiente:
En la Google Cloud consola, ve a Cloud Run:
Examinar la lista de servicios que se muestra para el proyecto:
Selecciona Filtrar servicios > Tipo de implementación > Función.
Si ya implementaste tu función con la API de Cloud Functions v2, la columna Implementado por mostrará Cloud Functions.
Copia un servicio
Se puede hacer una copia de un servicio existente mediante la consola de Google Cloud o YAML. También se puede cambiar lo que quieras en la copia, incluidos el nombre y la región.
Para copiar un servicio:
En la Google Cloud consola, ve a Cloud Run:
Selecciona el servicio que deseas copiar de la lista de servicios que se muestra para tu proyecto:
Haz clic en Copiar.
En la página de copia del servicio, configura o cambia cualquier valor que desees cambiar, como región, etc. Si mantienes la misma región, debes proporcionar un nombre nuevo para el servicio.
Haz clic en Create (Crear) para crear una copia y, luego, implementarla mediante el nombre del servicio nuevo.
Si creas un servicio nuevo, omite este paso. Si actualizas un servicio existente, descarga su configuración de YAML:
gcloud run services describe
SERVICE --format export > service.yamlRealiza los cambios de configuración deseados en el servicio.
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name:
SERVICE ... spec: template: metadata: annotations: ... name:REVISION - Si no estás implementando la copia en una región diferente, reemplaza SERVICE por el nombre que deseas usar para la copia. Si implementas la copia en una región diferente, puedes usar el nombre anterior.
- Reemplaza REVISION por un nombre de revisión nuevo o bórralo (si está presente). Si proporcionas un nuevo nombre de revisión, debe cumplir con los siguientes criterios:
- Comienza con
SERVICE-
- Solo contiene letras minúsculas, números y
-
- No termina con
-
- No supera los 63 caracteres
- Comienza con
Copia el servicio mediante el siguiente comando:
gcloud run services replace service.yaml
Usa la marca
--region
para implementar la copia en una región diferente.
Ve más detalles sobre un servicio
Para ver más detalles sobre un servicio, haz lo siguiente:
Para ver los detalles de un servicio, debes hacer lo siguiente:
En la Google Cloud consola, ve a Cloud Run:
Hacer clic en el servicio que deseas en la lista de servicios del proyecto que se muestra para abrir la vista de detalles del servicio:
Para ver los detalles de un servicio, ejecuta este comando:
gcloud run services describeSERVICE
Puedes usar la marca --format
para dar formato al resultado. Por ejemplo, como YAML:
gcloud run services describeSERVICE --regionREGION --format yaml
Reemplaza lo siguiente:
- SERVICE por el nombre del servicio
- REGION por la Google Cloud región del servicio.
Puedes usar --format export
para exportar como YAML sin etiquetas o estado generados de forma automática:
gcloud run services describeSERVICE --regionREGION --format export
También puedes usar la marca --format
para obtener la URL de servicio:
gcloud run services describeSERVICE --regionREGION --format='value(status.url)'
A fin de ver los detalles de un servicio con Cloud Code, lee las guías de Cloud Run Explorer para IntelliJ y Visual Studio Code.
Para obtener más detalles sobre las revisiones de servicios, consulta Administra revisiones.
Para ver los detalles de un servicio desde el código, haz lo siguiente:
Para ver los detalles de un servicio, envía una solicitud HTTP GET
al extremo service
de la API de Cloud Run Admin.
Por ejemplo, con curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: BearerACCESS_TOKEN " \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID /locations/REGION /services/SERVICE-NAME
Reemplaza lo siguiente:
- ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para ver los detalles del servicio.
Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con
gcloud auth print-access-token
. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - SERVICE-NAME por el nombre del servicio
- REGION por la Google Cloud región del servicio.
- PROJECT-ID por el Google Cloud ID del proyecto.
Inhabilita un servicio existente
Para obtener los permisos que necesitas para inhabilitar un servicio y una revisión existentes de Cloud Run,
pídele a tu administrador que te otorgue el rol de
administrador de Cloud Run (roles/run.admin
) de IAM en tu proyecto.
Cuando inhabilitas un servicio, se permite que se completen las solicitudes que se están procesando.
Sin embargo, cualquier otra solicitud a la URL del servicio fallará con un error Service unavailable
o Service disabled
.
Las solicitudes para revisar las revisiones que solo están activas debido a las etiquetas de tráfico no se ven afectadas porque esas revisiones no están inhabilitadas.
Para inhabilitar un servicio, debes establecer el escalamiento en cero. Puedes inhabilitar un servicio con la consola de Google Cloud, Google Cloud CLI, el archivo YAML o la API:
En la Google Cloud consola, ve a Cloud Run:
Haz clic en el servicio que quieres inhabilitar para mostrar su panel de detalles y, luego, haz clic en el ícono de lápiz junto a Escalamiento en la parte superior derecha del panel de detalles.
Busca el formulario Editar escalamiento y selecciona Ajuste de escala manual.
En el campo etiquetado como Cantidad de instancias, ingresa el valor
0
(cero).Haz clic en Guardar.
Para inhabilitar un servicio, usa el siguiente comando para establecer la escala en cero:
gcloud beta run services updateSERVICE --scaling=0
SERVICE por el nombre del servicio
Descarga la configuración de YAML de tu servicio:
gcloud run services describe
SERVICE --format export > service.yamlEstablece el atributo
manualInstanceCount
en cero (0
):apiVersion: serving.knative.dev/v1 kind: Service metadata: name:
SERVICE annotations: run.googleapis.com/launch-stage: BETA run.googleapis.com/scalingMode: manual run.googleapis.com/manualInstanceCount: `0`SERVICE por el nombre de tu servicio de Cloud Run.
Crea o actualiza el servicio con el siguiente comando:
gcloud run services replace service.yaml
Para inhabilitar un servicio, envía una solicitud HTTP PATCH
al extremo service
de la API de Cloud Run Admin.
Por ejemplo, con curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: BearerACCESS_TOKEN " \ -X PATCH \ -d '{"launchStage":"BETA","scaling":{"manualInstanceCount":0 }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID /locations/REGION /services/SERVICE ?update_mask=launchStage,scaling.manualInstanceCount
Reemplaza lo siguiente:
- ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para actualizar un servicio.
Por ejemplo, si accediste a
gcloud
, puedes recuperar un token de acceso congcloud auth print-access-token
. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - SERVICE por el nombre del servicio
- REGION por la Google Cloud región en la que se implementa el servicio
- PROJECT_ID por el Google Cloud ID del proyecto.
Borra servicios existentes
Las siguientes consideraciones se aplican a la eliminación de un servicio:
- Si borras un servicio, se borrarán todos los recursos relacionados con él, incluidas todas las revisiones de ese servicio, sin importar si entregan tráfico o no.
- Borrar un servicio no quita de forma automática las imágenes de contenedor de Container Registry Para borrar imágenes de contenedor que usan las revisiones borradas de Container Registry, consulta Borra imágenes.
- Si borras un servicio con uno o más activadores de Eventarc, estos no se borran de forma automática. Para borrar los activadores, consulta Administra activadores.
- Después de la eliminación, el servicio permanece visible en la consola de Google Cloud y en la interfaz de línea de comandos hasta que la eliminación se complete por completo. Sin embargo, no puedes actualizar el servicio.
La eliminación de un servicio es una acción permanente, es decir, no se puede deshacer ni restablecer. Sin embargo, si después de borrar un servicio, implementas un servicio nuevo con el mismo nombre en la misma región, tendrá la misma URL de extremo.
Para borrar un servicio, debes hacer lo siguiente:
En la Google Cloud consola, ve a Cloud Run:
Buscar el servicio que deseas borrar en la lista de servicios y hacer clic en su casilla de verificación para seleccionarlo
Haz clic en BORRAR. Esta acción borra todas las revisiones del servicio
Para borrar un servicio, usa el siguiente comando:
gcloud run services deleteSERVICE --regionREGION
Reemplazar
- SERVICE por el nombre de tu servicio.
- REGION por la Google Cloud región del servicio.
Para borrar un servicio del código, sigue estos pasos:
Para borrar un servicio, envía una solicitud HTTP DELETE
al extremo service
de la API de Cloud Run Admin.
Por ejemplo, con curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: BearerACCESS_TOKEN " \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID /locations/REGION /services/SERVICE-NAME
Reemplaza lo siguiente:
- ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para borrar un servicio.
Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con
gcloud auth print-access-token
. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - SERVICE-NAME por el nombre del servicio
- REGION por la Google Cloud región del servicio.
- PROJECT-ID por el Google Cloud ID del proyecto.