En este documento, se proporcionan instrucciones para configurar App Hub a fin de compilar, operar y administrar aplicaciones en Google Cloud. Está dirigido a personas que configuran y administran App Hub.
Si configuras App Hub, las tareas principales son las siguientes:
- Decide si quieres crear un nuevo proyecto host de App Hub o usar
uno existente como proyecto host.
- Si planeas tener más de un proyecto host, te recomendamos que los crees en la misma carpeta.
- Los proyectos host en App Hub no son los mismos que los proyectos host de VPC compartida y no tienen los mismos requisitos. Por ejemplo, no necesitas una red de VPC compartida para usar App Hub. En este documento, todas las referencias a proyectos host son a proyectos host de App Hub.
- Un proyecto host no puede ser un proyecto de servicio más que para sí mismo.
- Habilita la API de App Hub en el proyecto host.
- Agrega uno o más proyectos de servicio de App Hub al proyecto host.
- Los proyectos de servicio en App Hub no son los mismos que los proyectos de servicio de VPC compartida y no tienen los mismos requisitos. En este documento, todas las referencias a proyectos de servicio son a proyectos de servicio de App Hub.
- Designa usuarios de App Hub como administradores, editores o visualizadores de App Hub.
- Crear aplicaciones
- Registra servicios y cargas de trabajo en la aplicación.
Servicios y cargas de trabajo
Con App Hub, los recursos de los proyectos de servicio vinculados al proyecto host están disponibles como servicios y cargas de trabajo. El registro de los servicios y las cargas de trabajo en una aplicación te permite observar y supervisar los recursos. Puedes designar los siguientes recursos como servicios de App Hub y registrarlos en las aplicaciones de App Hub:
- Reglas de reenvío
- Mapas de URL
- Servicios de backend
Puedes designar grupos de instancias administrados (MIG), pero no VM individuales, como cargas de trabajo y registrarlos en aplicaciones de App Hub.
App Hub admite balanceadores de cargas de aplicaciones internos y externos L7 con tráfico HTTP o HTTPS.
Las cargas de trabajo y los servicios que registras deben estar en la misma región que la aplicación; por lo tanto, en las instrucciones y los comandos que siguen, se supone que todos los recursos están en la misma región. Para obtener información sobre las regiones que puedes designar, consulta Ubicaciones.
Proceso de configuración general
En la siguiente lista, se resumen los pasos para configurar App Hub:
- Determina qué recursos existentes debes incluir en tu aplicación y a qué proyectos pertenecen.
- Crea un proyecto host de App Hub y habilita la API de App Hub en el proyecto. De manera opcional, según la estructura organizativa de tu empresa, crea más de un proyecto host. Si creas varios proyectos, te recomendamos que los crees en una carpeta nueva.
- Vincula proyectos de servicio. Después de configurar un proyecto host, vincula proyectos de servicio con recursos subyacentes que necesiten tus aplicaciones al proyecto host. Ten en cuenta lo siguiente:
- Los proyectos de servicio deben estar en la misma organización que el proyecto host. Después de conectar un proyecto de servicio a un proyecto host, no puedes moverlo a otra organización. Para mover el proyecto de servicio a una organización diferente, debes seguir las instrucciones de este documento para quitar o desconectar el adjunto del proyecto de servicio del proyecto host. Luego, puedes adjuntar el proyecto de servicio a una organización diferente.
- Un proyecto de servicio no se puede vincular a más de un proyecto host.
- Un proyecto host puede ser su propio proyecto de servicio, pero no puede ser un proyecto de servicio para ningún otro proyecto host.
- Después de conectar proyectos de servicio a un proyecto host, la consulta de servicios o cargas de trabajo en el proyecto host muestra de forma automática todos los servicios y las cargas de trabajo de todos los proyectos de servicio.
- Crea una aplicación para organizar varias cargas de trabajo y servicios. Ten en cuenta lo siguiente:
- Asegúrate de que la aplicación tenga un nombre que sea único en el proyecto host y la ubicación.
- Un proyecto de servicio se puede vincular a un proyecto host con varias aplicaciones, pero sus recursos individuales se pueden registrar en una sola aplicación.
- Consulta servicios y cargas de trabajo, y regístralos en tu aplicación.
Después de crear una aplicación, debes consultar el proyecto host para conocer los servicios y las cargas de trabajo disponibles. Las consultas se ejecutan en el proyecto host y en todos los proyectos de servicio vinculados a él. También devuelven todos los servicios
y cargas de trabajo en esos proyectos. Ten en cuenta lo siguiente:
- Solo puedes registrar un servicio o una carga de trabajo en una sola aplicación.
- Cualquier carga de trabajo y servicio que registres debe estar en la misma región que la aplicación.
- Los servicios y las cargas de trabajo registrados no se ven afectados por las actualizaciones del recurso de infraestructura subyacente. En otras palabras, si borras los recursos subyacentes que actúan como servicios y cargas de trabajo, App Hub no borra las cargas de trabajo ni los servicios asociados de tu aplicación. Debes cancelar el registro de la carga de trabajo o el servicio por separado.
Requisitos previos
Antes de configurar App Hub, completa las siguientes tareas.
- Decide cuál proyecto existente es el proyecto host o crea uno nuevo para que sea el proyecto host. Te recomendamos que crees un proyecto nuevo.
- Asegúrate de haber decidido qué personas tienen los roles de Identity and Access Management (IAM) para App Hub: Administrador de App Hub, Editor de App Hub y Visualizador de App Hub.
Ten en cuenta lo siguiente:
- Los proyectos host pueden tener uno o más proyectos de servicio vinculados.
- Un proyecto de servicio no se puede vincular a más de un proyecto host.
- La persona que adjunta un proyecto de servicio a un proyecto host debe tener la función de IAM Administrador de App Hub en el proyecto de servicio y en el host. Para obtener más información, consulta Funciones y permisos de App Hub.
Configura App Hub
En esta sección, crearás una arquitectura de App Hub de ejemplo.
En el ejemplo, una organización tiene tres proyectos de servicio, con sus recursos de infraestructura implementados en ellos de la siguiente manera:
- El proyecto de servicio 1 tiene dos recursos de infraestructura: Servicio 1 y Servicio 2.
- El proyecto de servicio 2 tiene tres recursos de infraestructura: Servicio 3, Carga de trabajo 1 y Carga de trabajo 2.
- El proyecto de servicio 3 tiene tres recursos de infraestructura: Servicio 4, Carga de trabajo 3 y Carga de trabajo 4.
Asegúrate de que los proyectos que elijas para crear el ejemplo contengan los recursos que se describen en esta sección o prepárate para ajustar el ejemplo a medida que avanzas con las instrucciones.
Las siguientes secciones contienen las instrucciones para crear un ejemplo de App Hub. Debes crear un proyecto host y agregarle proyectos de servicio; luego, crear una aplicación y conectar servicios y cargas de trabajo a la aplicación. El ejemplo tiene tres proyectos de servicio, pero puedes agregar menos o más.
En el ejemplo, se supone que los proyectos de servicio que agregas ya existen y contienen servicios y cargas de trabajo que agregas a la aplicación. Antes de crear el ejemplo, determina qué proyectos de servicio contienen los servicios y las cargas de trabajo que deseas incluir en la aplicación.
Habilitar App Hub
En esta sección, seleccionarás o crearás un proyecto host nuevo, habilitarás la API de App Hub y otorgarás funciones y permisos adecuados a las personas de tu organización. También debes adjuntar proyectos de servicio al proyecto host.
Console
En la consola de Google Cloud, ve a la página del selector de proyectos.
Selecciona o crea un proyecto de Google Cloud, que será tu proyecto host de App Hub.
-
Habilita la API necesaria.
Si eres el creador del proyecto, se te otorga la función básica de propietario (
roles/owner
). De forma predeterminada, esta función de Identity and Access Management (IAM) incluye los permisos necesarios para acceder por completo a la mayoría de los recursos de Google Cloud.Si no eres el creador del proyecto, debes otorgar los permisos necesarios en el proyecto a la principal correspondiente. Por ejemplo, una principal puede ser una Cuenta de Google (para usuarios finales) o una cuenta de servicio (para aplicaciones y cargas de trabajo de procesamiento). Para obtener los permisos que necesitas para completar este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
En la consola de Google Cloud, ve a la página IAM.
Haz clic en
Otorgar acceso. Se abrirá el panel Otorgar acceso.En el campo Principales nuevas, ingresa la dirección de correo electrónico de la persona que administrará App Hub, el rol Administrador de App Hub en el proyecto host.
Haz clic en Seleccionar un rol y, en el campo Filtro, ingresa App Hub.
Selecciona el rol Administrador de App Hub y haz clic en Guardar.
En cada uno de los proyectos de servicio de App Hub, otorga la función de administrador de App Hub al mismo usuario.
En la consola de Google Cloud, ve a la página Configuración de App Hub.
En la página Configuración, haz clic en Adjuntar proyectos.
Realiza una de las siguientes acciones:
- En la lista de proyectos, selecciona las casillas de verificación de los proyectos que deseas agregar como proyectos de servicio.
- Busca proyectos y, luego, selecciona los que deseas agregar como proyectos de servicio.
Haz clic en Seleccionar. En la tabla Proyectos de servicio vinculados, se muestran los proyectos de servicio seleccionados.
Haz clic en Cerrar.
gcloud
-
En la consola de Google Cloud, activa Cloud Shell.
En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Asegúrate de que esté instalada la versión más reciente de Google Cloud CLI. Ejecuta el siguiente comando desde Cloud Shell:
gcloud components update
Crea o selecciona un proyecto nuevo,
HOST_PROJECT_ID
, para que sea el proyecto host de App Hub.- Crea un proyecto de Google Cloud:
gcloud projects create HOST_PROJECT_ID
- Selecciona el proyecto de Google Cloud que creaste:
gcloud config set project HOST_PROJECT_ID
- Crea un proyecto de Google Cloud:
Habilita la API de App Hub en el proyecto host que acabas de crear.
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Si eres el creador del proyecto, se te otorga la función básica de propietario (
roles/owner
). De forma predeterminada, esta función de Identity and Access Management (IAM) incluye los permisos necesarios para acceder por completo a la mayoría de los recursos de Google Cloud.Si no eres el creador del proyecto, debes otorgar los permisos necesarios en el proyecto a la principal correspondiente. Por ejemplo, una principal puede ser una Cuenta de Google (para usuarios finales) o una cuenta de servicio (para aplicaciones y cargas de trabajo de procesamiento). Para obtener los permisos que necesitas para completar este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
De manera opcional, otorga a los individuos que administrarán App Hub, la función de administrador de App Hub en el proyecto host. Repite el siguiente comando para cada administrador.
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Reemplaza
HOST_PROJECT_ADMIN
por el usuario que tiene el rol de administrador de App Hub en el proyecto host. Este valor tiene el formatousername@yourdomain
, por ejemplo,robert.smith@example.com
.Otórgales a las personas que administran App Hub el rol de administrador de App Hub en los proyectos de servicio. Deben tener la función de administrador de App Hub para agregar proyectos de servicio al proyecto host. Necesitas al menos una persona con esta función para cada proyecto de servicio. Una sola persona puede tener el rol en varios proyectos de servicio.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_1 \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
gcloud projects add-iam-policy-binding SERVICE_PROJECT_2 \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
gcloud projects add-iam-policy-binding SERVICE_PROJECT_3 \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Reemplaza lo siguiente:
SERVICE_PROJECT_1
: Es el primero de los tres proyectos de servicio de este ejemplo.SERVICE_PROJECT_2
: Es el segundo de tres proyectos de servicio de este ejemplo.SERVICE_PROJECT_3
: Es el tercero de los tres proyectos de servicio de este ejemplo.
Agrega tus proyectos de servicio al proyecto host de App Hub.
gcloud apphub service-projects add SERVICE_PROJECT_1 \ --project=HOST_PROJECT_ID
gcloud apphub service-projects add SERVICE_PROJECT_2 \ --project=HOST_PROJECT_ID
gcloud apphub service-projects add SERVICE_PROJECT_3 \ --project=HOST_PROJECT_ID
Crea una aplicación
Si aún no tienes una, crea una aplicación para que sea el contenedor de tus servicios y cargas de trabajo.
Console
- Asegúrate de estar en el proyecto host.
En la consola de Google Cloud, ve a la página Aplicaciones de App Hub.
Haz clic en Crear aplicación. Se mostrará el panel Crear aplicación.
Selecciona una Región.
Ingresa el Nombre de la aplicación y haz clic en Continuar.
En la sección Agregar atributos, ingresa el Nombre visible.
De manera opcional, agrega más detalles de la aplicación en los siguientes campos. Para obtener más información, en este documento, consulta Actualiza una aplicación existente de App Hub.
Haz clic en Crear.
gcloud
Crea una aplicación nueva llamada
APPLICATION_NAME
y asígnale un nombre visible,APPLICATION_DISPLAY_NAME
. La marca--scope-type
define qué servicios y cargas de trabajo se pueden registrar en una aplicación. Solo se admiteREGIONAL
, lo que significa que solo se pueden registrar servicios y cargas de trabajo de la misma región que la aplicación.gcloud apphub applications create APPLICATION_NAME \ --display-name='APPLICATION_DISPLAY_NAME' \ --scope-type=REGIONAL \ --project=HOST_PROJECT_ID \ --location=REGION
Reemplaza lo siguiente:
APPLICATION_NAME
: El nombre de tu aplicación. El nombre debe incluir solo caracteres alfanuméricos en minúscula sin espacios.APPLICATION_DISPLAY_NAME
: Es el nombre visible de tu aplicación.REGION
: Es la región de la aplicación. Asigna a esto el valorus-east1
.
Obtén una lista de las aplicaciones de tu proyecto host.
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=REGION
El resultado es similar al siguiente:
ID: APPLICATION_NAME DISPLAY_NAME: APPLICATION_DISPLAY_NAME CREATE_TIME: 2023-10-31T18:33:48
Obtén detalles de la aplicación que creaste.
gcloud apphub applications describe APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
El comando muestra información en formato YAML, similar al siguiente.
createTime: '2023-10-31T18:33:48.199394108Z' displayName: APPLICATION_DISPLAY_NAME name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME scope: type: REGIONAL state: ACTIVE uid: [APPLICATION_UID] updateTime: '2023-10-31T18:33:48.343303819Z'
Actualizar una aplicación existente de App Hub
También puedes actualizar los atributos de tu aplicación después de crearla.
Console
En la consola de Google Cloud, ve a la página Aplicaciones de App Hub.
Desde la lista de aplicaciones, haz clic en
Editar en la aplicación que deseas actualizar.Cambia los campos según sea necesario y haz clic en Guardar.
Opcional: En la lista Importancia, selecciona una de las siguientes opciones para indicar la importancia de la aplicación:
- Es esencial
- Alta
- Media
- Baja
Opcional: En el campo Entorno, para indicar la etapa del ciclo de vida del software, selecciona una de las siguientes opciones:
- Producción
- Etapa de pruebas
- Desarrollo
- Prueba
Opcional: Agrega los siguientes detalles según sea necesario para los Propietarios desarrolladores, los Propietarios de operadores y los Propietarios de empresas. Ten en cuenta que debes ingresar la dirección de correo electrónico del propietario si agregas un nombre visible.
- Ingresa el nombre visible de un propietario.
- Ingresa la dirección de correo electrónico del propietario. Este valor debe tener el formato
username@yourdomain
, por ejemplo,222larabrown@gmail.com
.
Repite estos pasos para cada desarrollador, operador y propietario de la empresa.
Haz clic en Guardar.
gcloud
Actualiza tu aplicación con los atributos de tipo de propietario,
criticality-type
yenvironment-type
:gcloud apphub applications update APPLICATION_NAME \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=HOST_PROJECT_ID \ --location=REGION
Reemplaza lo siguiente:
CRITICALITY_LEVEL
: Indica qué tan importante es una aplicación, un servicio o una carga de trabajo para las operaciones comerciales. Proporciona uno de los siguientes valores:MISSION_CRITICAL
HIGH
MEDIUM
LOW
ENVIRONMENT
: Indica las etapas del ciclo de vida del software. Proporciona uno de los siguientes valores:PRODUCTION
STAGING
DEVELOPMENT
TEST
DISPLAY-NAME-DEVELOPER
,DISPLAY-NAME-OPERATOR
yDISPLAY-NAME-BUSINESS
: Son los nombres visibles del desarrollador, el operador y los propietarios de la empresa, respectivamente.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
yEMAIL-NAME-BUSINESS
: Las direcciones de correo electrónico del desarrollador, el operador y los propietarios de la empresa, respectivamente. Estos valores deben tener el formatousername@yourdomain
, por ejemplo,222larabrown@gmail.com
.
Enumera las aplicaciones en las que el atributo
environment-type
tiene el valorPRODUCTION
.gcloud apphub applications list \ --filter='attributes.environment.type=PRODUCTION' \ --project=HOST_PROJECT_ID \ --location=REGION
El resultado es similar al siguiente:
ID: APPLICATION_NAME DISPLAY_NAME: APPLICATION_DISPLAY_NAME CREATE_TIME: 2023-10-31T18:33:48
Registra servicios y cargas de trabajo
Cuando registras servicios de infraestructura y cargas de trabajo en una aplicación, los servicios y las cargas de trabajo se registran como recursos de App Hub. Si usas los marcadores de posición para crear la aplicación con gcloud CLI, los servicios y las cargas de trabajo en los tres proyectos de servicio son los siguientes:
- El proyecto de servicio 1 tiene dos recursos de infraestructura: Servicio 1 y Servicio 2.
- El proyecto de servicio 2 tiene tres recursos de infraestructura: Servicio 3, Carga de trabajo 1 y Carga de trabajo 2.
El proyecto de servicio 3 tiene tres recursos de infraestructura: Servicio 4, Carga de trabajo 3 y Carga de trabajo 4.
Console
En la consola de Google Cloud, ve a la página Aplicaciones de App Hub.
Haz clic en el nombre de tu aplicación. Se mostrará la pestaña Servicios y cargas de trabajo con una lista de servicios y cargas de trabajo registrados que se encuentran en tus proyectos de servicio.
Para cada servicio o carga de trabajo que quieras registrar, haz lo siguiente:
- En la pestaña Servicios y cargas de trabajo, haz clic en Registrar servicio/carga de trabajo.
- En el panel Registrar servicio o carga de trabajo, en la sección Elige un servicio o una carga de trabajo, selecciona el servicio o la carga de trabajo y haz clic en Continuar.
- En la sección Agregar atributos, ingresa un Nombre para el servicio o la carga de trabajo.
- De manera opcional, agrega más detalles para el servicio o la carga de trabajo en los siguientes campos. Para obtener más información, en este documento, consulta Actualiza una aplicación existente de App Hub. Ten en cuenta que debes proporcionar uno de los valores especificados para los campos Importancia y Entorno, pero el valor puede ser diferente de los que configuraste cuando creaste la aplicación.
- Haz clic en Register. En la pestaña Servicios y cargas de trabajo, se muestra el servicio o la carga de trabajo registrados. Para obtener más información sobre los estados de registro, consulta las propiedades y atributos de App Hub.
gcloud
Agrega a una persona con permisos de editor de App Hub.
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:APP_HUB_EDITOR' \ --role='roles/apphub.editor'
Reemplaza
APP_HUB_EDITOR
por el usuario que tiene la función de editor de App Hub en el proyecto host. Este valor tiene el formatousername@yourdomain
, por ejemplo,robert.smith@example.com
.Enumera las cargas de trabajo descubiertas del proyecto de servicio 2, que está conectado al proyecto host. Este comando muestra las cargas de trabajo que están disponibles para registrarlas en una aplicación.
gcloud apphub discovered-workloads list \ --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \ --project=HOST_PROJECT_ID \ --location=REGION
El resultado es similar al siguiente, que incluye los MIG no registrados:
ID: [DISCOVERED_WORKLOAD_ID_1] WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'} WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'} ID: [DISCOVERED_WORKLOAD_ID_2] WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'} WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
Copia el ID de la carga de trabajo del resultado para usarlo en el siguiente paso.
Registra una carga de trabajo del paso anterior en tu aplicación.
gcloud apphub applications workloads create WORKLOAD_NAME \ --discovered-workload='projects/HOST_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID_2' \ --display-name='mywebserver-deployment1' \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Reemplaza lo siguiente:
WORKLOAD_NAME
: Es un nombre para registrar la carga de trabajo.DISCOVERED_WORKLOAD_ID_2
: El ID de la carga de trabajo del resultado del paso anterior.
Repite los dos pasos anteriores para filtrar y registrar las cargas de trabajo que desees del Proyecto de servicio 3.
Opcional: Puedes actualizar las cargas de trabajo con los atributos
criticality-type
,environment-type
y propietario.gcloud apphub applications workloads update WORKLOAD_NAME \ --application=APPLICATION_NAME \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=HOST_PROJECT_ID \ --location=REGION
Ten en cuenta que debes proporcionar uno de los valores especificados para
criticality-type
yenvironment-type
, pero el valor puede ser diferente de los que configuraste cuando creaste la aplicación.Enumera las cargas de trabajo registradas en la aplicación.
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
El resultado es similar al siguiente:
ID: WORKLOAD_NAME DISPLAY_NAME: mywebserver-deployment1 WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'} CREATE_TIME: 2023-10-31T18:34:23
Las cargas de trabajo registradas, pero desconectadas se indican con un valor vacío en el campo
WORKLOAD_REFERENCE
. Para obtener más información sobre los estados de registro, consulta las propiedades y atributos de App Hub.Enumera los servicios detectados con reglas de reenvío en el proyecto de servicio 1 que está conectado al proyecto host. Este comando muestra servicios disponibles para registrarse en una aplicación.
gcloud apphub discovered-services list \ --filter='service_properties.gcp_project=projects/SERVICE_PROJECT_1 AND service_reference.uri~"forwardingRules"' \ --project=HOST_PROJECT_ID \ --location=REGION
El resultado es similar al siguiente:
ID: [DISCOVERED_SERVICE_ID_1] SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'} ID: [DISCOVERED_SERVICE_ID_2] SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
Copia el ID del servicio,
DISCOVERED_SERVICE_ID_2
, del resultado para usarlo en el siguiente paso.Registra la regla de reenvío
testing-forwarding-rule-2
en el proyecto de servicio 1 como un servicio.gcloud apphub applications services create SERVICE_NAME \ --discovered-service='projects/HOST_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE_ID_2' \ --display-name='mywebserver-service1' \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Reemplaza lo siguiente:
SERVICE_NAME
: Es un nombre para registrar el servicio.DISCOVERED_SERVICE_ID_2
: El ID del servicio del resultado del paso anterior.
Repite los pasos anteriores que enumeran los servicios, los filtra y los registra en los proyectos de servicio 1, 2 y 3.
Actualiza un servicio con el atributo
criticality-type
y el atributoenvironment-type
.gcloud apphub applications services update SERVICE_NAME \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Enumera los servicios registrados en la aplicación
APPLICATION_NAME
y el proyecto hostHOST_PROJECT_ID
.gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
El resultado es similar al siguiente para cada servicio:
ID: SERVICE_NAME DISPLAY_NAME: mywebserver-service1 SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'} CREATE_TIME: 2023-11-01T21:38:08
Los servicios registrados, pero los desvinculados se indican con un valor vacío en el campo
SERVICE_REFERENCE
.Filtra los servicios en la aplicación
APPLICATION_NAME
y el proyecto hostHOST_PROJECT_ID
en los que el atributoenvironment-type
esté configurado comoPRODUCTION
.gcloud apphub applications services list \ --filter='attributes.environment.type=PRODUCTION' \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Finalizó el proceso de configuración de App Hub.
Agregar o quitar proyectos de servicio
Puedes modificar adjuntos de proyectos de servicio a fin de poner a disposición diferentes recursos de infraestructura para agruparlos en una aplicación.
Console
Para agregar un proyecto de servicio a un proyecto host, haz lo siguiente:
En la consola de Google Cloud, ve a la página Configuración de App Hub.
En la página Configuración, haz clic en Adjuntar proyectos.
En el panel que se abre, busca proyectos en la lista que se muestra y selecciona las casillas de verificación de los proyectos que deseas agregar como proyectos de servicio.
Haz clic en Seleccionar. En la tabla Proyectos de servicio vinculados, se muestran los proyectos seleccionados como proyectos de servicio para el proyecto host.
Haz clic en Cerrar.
Para quitar un proyecto de servicio de un proyecto host, haz lo siguiente:
En la consola de Google Cloud, ve a la página Configuración de App Hub.
En la página Configuración, selecciona las casillas de verificación de los proyectos que quieres quitar como proyectos de servicio.
Haz clic en Desconectar proyectos. La tabla Proyectos de servicios vinculados se actualiza para mostrar solo los proyectos que permanecen vinculados al proyecto host.
gcloud
Para agregar un proyecto de servicio a un proyecto host, haz lo siguiente:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
SERVICE_PROJECT_ID
por el nombre del proyecto de servicio que deseas agregar al proyecto host.
Para quitar un proyecto de servicio del proyecto host, haz lo siguiente:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Consulta las aplicaciones, los servicios y las cargas de trabajo existentes
Puedes ver aplicaciones en un proyecto y enumerar los servicios y las cargas de trabajo de una aplicación.
Console
Para ver aplicaciones de un proyecto, en la consola de Google Cloud, ve a la página Aplicaciones de App Hub.
Para enumerar los servicios y las cargas de trabajo, sigue estos pasos:
Aplicaciones
En la consola de Google Cloud, ve a la página Aplicaciones de App Hub.
Haz clic en el nombre de una aplicación. Aparecerá una página con una lista de servicios y cargas de trabajo registrados en tu aplicación.
Opcional: Para filtrar los servicios o las cargas de trabajo, sigue estos pasos:
- En el campo Filtro, selecciona un filtro como Importancia.
- Selecciona el valor Alto.
Aparece una lista de servicios y cargas de trabajo de alta importancia que se registran en la aplicación.
Servicios y cargas de trabajo
En la consola de Google Cloud, ve a la página Servicios y cargas de trabajo de App Hub.
En la lista Región, selecciona las regiones en las que deseas ver los servicios y las cargas de trabajo. Por ejemplo, selecciona us-east1.
En la página Servicios y cargas de trabajo, se muestran todos los servicios y las cargas de trabajo de los proyectos de servicio vinculados que están asociados con us-east1.Opcional: Para filtrar los servicios o las cargas de trabajo, sigue estos pasos:
- En el campo Filtro, selecciona un filtro, como Entorno.
- Selecciona Producción como el valor.
Aparece una lista de servicios y cargas de trabajo en el entorno de producción que está registrado en una aplicación.
gcloud
Para ver las aplicaciones de un proyecto, sigue estos pasos:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=REGION
Para enumerar los servicios registrados en una aplicación, sigue estos pasos:
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Para enumerar las cargas de trabajo registradas en una aplicación, sigue estos pasos:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Limpia
Limpia una aplicación existente y quita un adjunto de proyecto de servicio del proyecto host para quitar los recursos asociados con el proyecto. Esto detiene el descubrimiento automático de recursos en el proyecto de servicio.
Para hacerlo, primero debes borrar las cargas de trabajo y los servicios registrados en la aplicación.
Console
En la consola de Google Cloud, ve a la página Aplicaciones de App Hub.
Haz clic en el nombre de una aplicación. Aparecerá una lista de servicios y cargas de trabajo registrados en la aplicación.
Cancela el registro de un servicio o una carga de trabajo.
- En la pestaña Servicios y cargas de trabajo, en la sección Servicios y cargas de trabajo registrados, haz clic en el nombre del servicio o la carga de trabajo del que deseas cancelar el registro.
- En la pestaña Detalles, haz clic en Cancelar registro del servicio o Cancelar registro de la carga de trabajo para actualizar el servicio o la carga de trabajo como un recurso Descubierto.
En la pestaña Servicios y cargas de trabajo, una alerta notifica que la carga de trabajo no está registrada. - Repite estas instrucciones para cada servicio y carga de trabajo.
Ve a la página Aplicaciones de App Hub.
Haz clic en el nombre de una aplicación.
En la página con los detalles de la aplicación, haz clic en Borrar.
En este documento, usa las instrucciones que se indican en Agrega o quita proyectos de servicio para quitar los proyectos de servicio de tu proyecto host.
gcloud
Enumera las cargas de trabajo registradas en la aplicación:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=HOST_PROJECT_ID \ --location=REGION
Cancela el registro de la carga de trabajo en la aplicación:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Ahora, la carga de trabajo es descubierta y se puede registrar en la aplicación.
Repite el comando anterior para borrar las cargas de trabajo registradas restantes de la aplicación.
Obtén una lista de los servicios registrados en la aplicación:
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Cancela el registro del servicio en la aplicación:
gcloud apphub applications services delete SERVICE_NAME \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Ahora es un servicio descubierto que se puede registrar en la aplicación.
Repite el comando anterior para cancelar el registro de los servicios registrados restantes de la aplicación.
Borra la aplicación:
gcloud apphub applications delete APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Quita un proyecto de servicio del proyecto host:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Repite el comando anterior para quitar todos los proyectos de servicio del proyecto host.