Este documento fornece instruções para configurar o App Hub para criar, operar e gerenciar aplicativos no Google Cloud. Ele é destinado a pessoas que configuram e administram o App Hub.
Ao configurar o App Hub, as tarefas principais são: segue:
- Decida se você quer criar um novo projeto host do App Hub ou usar
um projeto existente como seu projeto host.
- Se você pretende ter mais de um projeto de host, recomendamos criar na mesma pasta.
- Os projetos host no App Hub não são iguais Projetos host de VPC compartilhada que não têm os mesmos requisitos. Por exemplo, você não uma rede VPC compartilhada para usar o App Hub. Neste documento, todas as referências a projetos host são projetos host do App Hub.
- Um projeto host não pode ser um projeto de serviço diferente dele mesmo.
- Ative a API App Hub no projeto host.
- Adicione um ou mais projetos de serviço do App Hub ao projeto host.
- Os projetos de serviço no App Hub não são iguais Projetos de serviço de VPC compartilhada que não têm os mesmos requisitos. Neste documento, todas as referências a projetos de serviço são projetos de serviço do App Hub.
- Designar usuários do App Hub como App Hub Administradores, editores do App Hub ou App Hub Leitores.
- Criar aplicativos.
- Registre serviços e cargas de trabalho no aplicativo.
Serviços e cargas de trabalho
Com o App Hub, os recursos dos projetos de serviço anexados ao projeto host ficam disponíveis como serviços e cargas de trabalho. Registrando os serviços e as cargas de trabalho a um aplicativo permitem observar e monitorar os recursos. É possível designar os seguintes recursos como serviços do App Hub e registrá-los em aplicativos do App Hub:
- Regras de encaminhamento
- Mapas de URL
- Serviços de back-end
É possível designar grupos gerenciados de instâncias (MIGs), mas não VMs individuais. cargas de trabalho e registrá-las nos aplicativos do App Hub.
O App Hub oferece suporte aos sistemas regionais L7 externos e internos Balanceadores de carga de aplicativo com tráfego HTTP ou HTTPS
As cargas de trabalho e os serviços que você registra precisam estar na mesma região que o aplicativo. Portanto, as instruções e os comandos a seguir presumem que todos os recursos estão na mesma região. Para informações sobre quais regiões você pode designar, consulte Locais.
Processo de configuração geral
A lista a seguir resume as etapas para configurar o App Hub:
- Determine quais recursos incluir no seu aplicativo e a quais projetos pertencem.
- Crie um projeto host do App Hub e ative a API App Hub no projeto. Opcionalmente, com base nas suas estrutura organizacional de uma empresa, criar mais de um projeto host. Se você criar vários projetos, recomendamos que eles sejam criados em uma nova pasta.
- Anexe projetos de serviço. Depois de configurar um projeto host, anexe
projetos de serviço com recursos subjacentes necessários aos seus aplicativos
ao projeto host. Observe o seguinte:
- Os projetos de serviço precisam estar na mesma organização que o projeto host. Depois de anexar um projeto de serviço a um host projeto, não é possível movê-lo para outra organização. Para mover o projeto de serviço para uma organização diferente, é preciso seguir o instruções neste documento para remover ou remover o anexo do projeto de serviço ao projeto host. Em seguida, é possível anexar o projeto de serviço a uma organização diferente.
- Um projeto de serviço não pode ser anexado a mais de um projeto host.
- Um projeto host pode ser o próprio projeto de serviço, mas não pode ser um projeto de serviço para nenhum outro projeto host.
- Depois de anexar projetos de serviço a um projeto host, consultar o host projeto para serviços ou cargas de trabalho retorna automaticamente todos os serviços e cargas de trabalho em todos os projetos de serviço.
- Crie um aplicativo para organizar várias cargas de trabalho e serviços. Observe
que:
- Verifique se o aplicativo tem um nome exclusivo no projeto e local do host.
- Um projeto de serviço pode ser anexado a um projeto host com vários aplicativos, mas seu recursos individuais podem ser registrados somente para um aplicativo.
- Consulte serviços e cargas de trabalho e registre-os no aplicativo.
Depois de criar um aplicativo, consulte o projeto host para verificar
serviços e cargas de trabalho. As consultas são executadas no projeto host e
projetos de serviço anexados ao projeto host. Eles também retornam todos
os serviços e cargas de trabalho nesses projetos. Observe o seguinte:
- Só é possível registrar um serviço ou uma carga de trabalho em um único aplicativo.
- Todas as cargas de trabalho e serviços registrados precisam estar na mesma região como o aplicativo.
- Os serviços e as cargas de trabalho registrados não são afetados pelas atualizações da recurso de infraestrutura. Em outras palavras, se você excluir o recursos que atuam como serviços e cargas de trabalho, O App Hub não exclui as cargas de trabalho associadas e serviços do seu aplicativo. É necessário cancelar o registro separadamente carga de trabalho ou serviço.
Pré-requisitos
Antes de configurar o App Hub, conclua as tarefas a seguir.
- Decida qual projeto existente é o host ou crie um novo para ser o host. Recomendamos que você crie um novo projeto.
- Verifique se você decidiu quais indivíduos têm os papéis de gerenciamento de identidade e acesso (IAM) do App Hub: administrador, editor e leitor.
Observe o seguinte:
- Os projetos host podem ter um ou mais projetos de serviço anexados.
- Um projeto de serviço não pode ser anexado a mais de um projeto host.
- A pessoa que anexa um projeto de serviço a um projeto host precisa ter a O papel de IAM de Administrador do App Hub no serviço e um projeto host. Para mais informações, consulte Papéis e permissões do App Hub.
Configurar o App Hub
Nesta seção, você vai criar um exemplo de arquitetura do App Hub.
No exemplo, uma organização tem três projetos de serviço, com os recursos de infraestrutura implantados nos projetos da seguinte maneira:
- O projeto de serviço 1 tem dois recursos de infraestrutura: Serviço 1 e Serviço 2.
- O projeto de serviço 2 tem três recursos de infraestrutura: serviço 3, carga de trabalho 1 e carga de trabalho 2.
- O projeto de serviço 3 tem três recursos de infraestrutura: serviço 4, carga de trabalho 3 e carga de trabalho 4.
Verifique se os projetos escolhidos para criar o exemplo contêm os recursos descritos nesta seção ou esteja preparado para ajustar o exemplo conforme você segue as instruções.
As seções a seguir contêm as instruções para criar um exemplo de hub de apps. Você cria um projeto host e adiciona projetos de serviço a ele. Em seguida, cria um aplicativo e anexa serviços e cargas de trabalho a ele. O exemplo tem três projetos de serviço, mas você é possível adicionar menos ou mais.
O exemplo pressupõe que os projetos de serviço adicionados já existem e contêm serviços e cargas de trabalho que você adiciona ao aplicativo. Antes de você criar o exemplo, determinar quais projetos de serviço contêm os serviços e das cargas de trabalho que você quer incluir no aplicativo.
Ativar o App Hub
Nesta seção, você seleciona ou cria um novo projeto host, ativa o a API App Hub e conceder papéis e permissões a pessoas de sua organização. Você também anexa projetos de serviço ao host projeto.
Console
No console do Google Cloud, acesse a página do seletor de projetos.
Selecione ou crie um projeto do Google Cloud para ser o projeto de hospedagem do App Hub.
-
Enable the required API.
Se você for o criador do projeto, receberá o papel de proprietário básico (
roles/owner
). Por padrão, esse papel do gerenciamento de identidade e acesso (IAM) inclui as permissões necessárias para acesso total à maioria dos recursos do Google Cloud.Se você não é o criador do projeto, as permissões necessárias precisam ser concedidas ao principal apropriado. Por exemplo, um principal pode ser uma Conta do Google (para usuários finais) ou uma conta de serviço (para aplicativos e cargas de trabalho de computação). Para receber as permissões necessárias para concluir este tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:
No console do Google Cloud, abra a página IAM.
Clique em
Conceder acesso. O painel Conceder acesso será aberto.No campo Novos principais, insira o endereço de e-mail do pessoa física que vai administrar o App Hub, o papel Administrador do App Hub no projeto host.
Clique em Selecionar papel e, no campo Filtro, digite App Hub.
Selecione o papel Administrador do App Hub e clique em Salvar.
Em cada um dos projetos de serviço do App Hub, atribua a função de administrador do App Hub ao mesmo usuário.
No console do Google Cloud, acesse a página Configurações do App Hub.
Na página Configurações, clique em Anexar projetos.
Escolha uma destas opções:
- Na lista de projetos, marque as caixas de seleção dos projetos que você quer adicionar como projetos de serviço.
- Pesquise e selecione os projetos que você quer adicionar como projetos de serviço.
Clique em Selecionar. A tabela Attached Service Project(s) mostra os projetos de serviço selecionados.
Clique em Fechar.
gcloud
-
In the Google Cloud console, 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.
Verifique se a versão mais recente da Google Cloud CLI está instalada. Execute o comando a seguir no Cloud Shell:
gcloud components update
Crie ou selecione um novo projeto,
HOST_PROJECT_ID
, para ser o projeto host do App Hub.- Crie um projeto do Google Cloud:
gcloud projects create HOST_PROJECT_ID
- Selecione o projeto do Google Cloud que você criou:
gcloud config set project HOST_PROJECT_ID
- Crie um projeto do Google Cloud:
Ative a API App Hub no projeto host que você acabou de criar.
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Se você for o criador do projeto, receberá o papel de proprietário básico (
roles/owner
). Por padrão, esse papel do gerenciamento de identidade e acesso (IAM) inclui as permissões necessárias para acesso total à maioria dos recursos do Google Cloud.Se você não é o criador do projeto, as permissões necessárias precisam ser concedidas ao principal apropriado. Por exemplo, um principal pode ser uma Conta do Google (para usuários finais) ou uma conta de serviço (para aplicativos e cargas de trabalho de computação). Para receber as permissões necessárias para concluir este tutorial, peça ao seu administrador para conceder a você os seguintes papéis do IAM no projeto:
Opcionalmente, conceda aos indivíduos que vão administrar o App Hub o papel de administrador do App Hub no projeto host. Repita o comando a seguir para cada administrador.
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Substitua
HOST_PROJECT_ADMIN
pelo usuário que tem a função de administrador do App Hub no projeto host. Esse valor tem o formatousername@yourdomain
, por exemplo,robert.smith@example.com
.Conceda o papel de administrador do App Hub nos projetos de serviço à para indivíduos que administram o App Hub. Eles devem ter o Papel de administrador do App Hub para adicionar projetos de serviço ao host projeto. É necessário ter pelo menos uma pessoa com essa função para cada projeto de serviço. Uma única pessoa pode ter a função em vários projetos de serviço.
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'
Substitua:
SERVICE_PROJECT_1
: o primeiro de três de serviço neste exemplo.SERVICE_PROJECT_2
: o segundo de três de serviço neste exemplo.SERVICE_PROJECT_3
: o terceiro dos três projetos de serviço neste exemplo.
Adicione seus projetos de serviço ao projeto host do 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
Criar um aplicativo
Crie um aplicativo para ser o contêiner dos seus serviços e cargas de trabalho, se ainda não tiver um.
Console
- Verifique se você está no projeto host.
No console do Google Cloud, acesse a página Aplicativos do App Hub.
Clique em Criar aplicativo.
Na página Criar aplicativo, no painel Escolher região e nome do aplicativo, selecione uma Região.
Insira o Nome do aplicativo e clique em Continuar.
Opcionalmente, adicione mais detalhes para o aplicativo nos campos a seguir. Para mais informações, neste documento, consulte Atualizar um aplicativo existente do App Hub.
Clique em Criar.
gcloud
Crie um novo aplicativo chamado
APPLICATION_NAME
e atribua um nome de exibição,APPLICATION_DISPLAY_NAME
. A flag--scope-type
define quais serviços e cargas de trabalho podem ser registrados em um aplicativo. Há suporte apenas paraREGIONAL
, ou seja, apenas serviços e cargas de trabalho da mesma região aplicativo possa ser registrado.gcloud apphub applications create APPLICATION_NAME \ --scope-type=REGIONAL \ --project=HOST_PROJECT_ID \ --location=REGION
Substitua:
APPLICATION_NAME
: o nome do seu aplicativo. O nome deve incluir apenas caracteres alfanuméricos minúsculos, sem espaçosREGION
: a região do aplicativo. Dê isso o valorus-east1
.
Liste os aplicativos no seu projeto host.
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=REGION
O resultado será assim:
ID: APPLICATION_NAME DISPLAY_NAME: APPLICATION_DISPLAY_NAME CREATE_TIME: 2023-10-31T18:33:48
Confira os detalhes do aplicativo que você criou.
gcloud apphub applications describe APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
O comando retorna informações no formato YAML, semelhante ao seguinte.
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'
Atualizar um app do App Hub
Você também pode atualizar os atributos do seu aplicativo depois que ele for criados.
Console
No console do Google Cloud, acesse a página Aplicativos do App Hub.
Na lista de aplicativos, clique em
Edit para o aplicativo que deseja atualizar.Edite os campos conforme necessário e clique em Salvar.
Opcional: na lista Importância, para indicar a importância do aplicativo, selecione uma das seguintes opções:
- Serviços críticos
- Alta
- Meio
- Baixa
Opcional: na lista Ambiente, para indicar o estágio do ciclo de vida do software, selecione uma das seguintes opções:
- Production
- Preparação
- Development
- Testar
Opcional: adicione os seguintes detalhes conforme necessário para proprietários de desenvolvedor, proprietários de operador e proprietários de empresa. Você deve inserir o endereço de e-mail do proprietário caso adicione um nome de exibição.
- Insira o nome de exibição de um proprietário.
- Insira o endereço de e-mail do proprietário. Esse valor deve ter
no formato
username@yourdomain
, por exemplo,222larabrown@gmail.com
.
Repita essas etapas para cada desenvolvedor, operador e proprietário da empresa.
Clique em Salvar.
gcloud
Atualize o aplicativo com
criticality-type
,environment-type
. e dos tipos de proprietário:gcloud apphub applications update APPLICATION_NAME \ --display-name='APPLICATION_DISPLAY_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
Substitua:
APPLICATION_DISPLAY_NAME
: o nome de exibição de seu aplicativo.CRITICALITY_LEVEL
: indica o nível de importância aplicativos, serviços ou cargas de trabalho é para suas operações comerciais. Informe um dos seguintes valores:MISSION_CRITICAL
HIGH
MEDIUM
LOW
ENVIRONMENT
: indica os estágios do ciclo de vida do software. Forneça um dos seguintes valores:PRODUCTION
STAGING
DEVELOPMENT
TEST
DISPLAY-NAME-DEVELOPER
,DISPLAY-NAME-OPERATOR
eDISPLAY-NAME-BUSINESS
: nomes de exibição do desenvolvedor, operador e proprietário da empresa, respectivamente.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
eEMAIL-NAME-BUSINESS
: endereços de e-mail do desenvolvedor, operador e proprietário da empresa, respectivamente. Esses valores precisa ter o formatousername@yourdomain
, por exemplo,222larabrown@gmail.com
.
Liste os aplicativos em que o atributo
environment-type
tem o valorPRODUCTION
.gcloud apphub applications list \ --filter='attributes.environment.type=PRODUCTION' \ --project=HOST_PROJECT_ID \ --location=REGION
O resultado será assim:
ID: APPLICATION_NAME DISPLAY_NAME: APPLICATION_DISPLAY_NAME CREATE_TIME: 2023-10-31T18:33:48
Registrar serviços e cargas de trabalho
Quando você registra serviços de infraestrutura e cargas de trabalho em um aplicativo, e cargas de trabalho são registradas como recursos do App Hub. Se você está usando os espaços reservados para criar o aplicativo com CLI gcloud, os serviços e as cargas de trabalho nos três projetos de serviço são os seguintes:
- O projeto de serviço 1 tem dois recursos de infraestrutura: Serviço 1 e Serviço 2.
- O projeto de serviço 2 tem três recursos de infraestrutura: serviço 3, carga de trabalho 1 e carga de trabalho 2.
O projeto de serviço 3 tem três recursos de infraestrutura: Serviço 4, Carga de trabalho 3, e carga de trabalho 4.
Console
No console do Google Cloud, acesse a página Aplicativos do App Hub.
Clique no nome do seu app. A guia Serviços e cargas de trabalho é exibida com uma lista de serviços e cargas de trabalho registrados nos seus projetos de serviço.
Para cada serviço ou carga de trabalho que você quer registrar, faça o seguinte:
- Na guia Serviços e cargas de trabalho, clique em Registre serviço/carga de trabalho.
- Na página Registrar serviço ou carga de trabalho, no painel Selecionar recurso, clique em Procurar para selecionar o serviço ou a carga de trabalho como um Recurso.
- No painel Selecionar recurso, escolha um serviço ou carga de trabalho e Clique em Selecionar.
- No painel Selecionar recurso, insira um Nome para o serviço ou a carga de trabalho e clique em Continuar.
- Opcionalmente, no painel Adicionar atributos, adicione mais detalhes do serviço ou da carga de trabalho nos campos a seguir. Para mais informações, deste documento, consulte Atualizar um aplicativo existente do App Hub. É possível selecionar valores para os campos Grau de criticidade e Ambiente que sejam diferentes dos valores definidos ao criar o aplicativo.
- Clique em Continuar.
- Opcionalmente, na seção Adicionar proprietários, adicione mais detalhes sobre os proprietários do serviço ou da carga de trabalho nos campos seguintes. Para mais informações, neste documento, consulte Atualizar um aplicativo existente do App Hub.
- Clique em Registrar.
A guia Serviços e cargas de trabalho mostra o serviço ou a carga de trabalho registrados. Para mais informações sobre os status de registro, consulte a propriedades e atributos do App Hub.
gcloud
Adicione uma pessoa com permissões de editor do App Hub.
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:APP_HUB_EDITOR' \ --role='roles/apphub.editor'
Substitua
APP_HUB_EDITOR
pelo usuário que tem a função de editor do App Hub no projeto host. Esse valor tem no formatousername@yourdomain
, por exemplo,robert.smith@example.com
.Liste as cargas de trabalho descobertas do projeto de serviço 2, que está anexado ao projeto host. Esse comando retorna as cargas de trabalho que estão disponíveis para serem registradas em um aplicativo.
gcloud apphub discovered-workloads list \ --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \ --project=HOST_PROJECT_ID \ --location=REGION
O resultado é semelhante ao seguinte, que inclui MIGs não registradas:
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'}
Copie o ID da carga de trabalho da saída para usar na próxima etapa.
Registre uma carga de trabalho da etapa anterior no seu aplicativo.
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
Substitua:
WORKLOAD_NAME
: um nome para registrar o carga de trabalhoDISCOVERED_WORKLOAD_ID_2
: o ID da carga de trabalho de a saída da etapa anterior.
Repita as duas etapas anteriores para filtrar e registrar as cargas de trabalho que você quer do projeto de serviço 3.
Opcional: é possível atualizar as cargas de trabalho com os atributos
criticality-type
,environment-type
e proprietário.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
É necessário fornecer um dos valores especificados para
criticality-type
eenvironment-type
, mas o valor pode ser diferente dos valores definidos ao criar o aplicativo.Listar as cargas de trabalho registradas no aplicativo.
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
O resultado será assim:
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
Registradas, mas as cargas de trabalho desconectadas são indicadas por um valor vazio no campo
WORKLOAD_REFERENCE
. Para mais informações sobre os status de registro, consulte as propriedades e os atributos do App Hub.Liste os serviços descobertos com regras de encaminhamento no projeto de serviço 1 anexado ao projeto host. Esse comando retorna serviços disponíveis para registro em um aplicativo.
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
O resultado será assim:
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'}
Copie o ID de serviço,
DISCOVERED_SERVICE_ID_2
da saída para usar em para a próxima etapa.Registre a regra de encaminhamento,
testing-forwarding-rule-2
, no projeto de serviço 1 como um serviço.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
Substitua:
SERVICE_NAME
: um nome para registrar o o serviço.DISCOVERED_SERVICE_ID_2
: o ID do serviço de a saída da etapa anterior.
Repita as etapas anteriores que listam serviços, filtram esses serviços e registram os serviços nos projetos de serviço 1, 2 e 3.
Atualize um serviço com o atributo
criticality-type
e oenvironment-type
.gcloud apphub applications services update SERVICE_NAME \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Listar serviços registrados no
APPLICATION_NAME
do aplicativo eHOST_PROJECT_ID
projeto host.gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
O resultado é semelhante ao seguinte para cada serviço:
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
Os serviços registrados, mas separados, são indicados por um valor vazio no campo
SERVICE_REFERENCE
.Filtre os serviços no aplicativo
APPLICATION_NAME
e no projeto hostHOST_PROJECT_ID
para aqueles em que o atributoenvironment-type
está definido comoPRODUCTION
.gcloud apphub applications services list \ --filter='attributes.environment.type=PRODUCTION' \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
O processo de configuração do App Hub foi concluído.
Adicionar ou remover projetos de serviço
É possível modificar os anexos do projeto de serviço para disponibilizar diferentes recursos de infraestrutura em um aplicativo.
Console
Para adicionar um projeto de serviço a um projeto host:
No console do Google Cloud, acesse a página Configurações do App Hub.
Na página Configurações, clique em Anexar projetos.
No painel que abrir, pesquise projetos na lista exibida e marque as caixas de seleção dos projetos que você quer adicionar como projetos de serviço.
Clique em Selecionar. A tabela Attached Service Project(s) mostra os projetos selecionados como os projetos de serviço do projeto host.
Clique em Fechar.
Para remover um projeto de serviço de um projeto host:
No console do Google Cloud, acesse a página Configurações do App Hub.
Na página Configurações, marque as caixas de seleção dos projetos que quiser. para remover como projetos de serviço.
Clique em Desanexar projetos. A tabela Projetos de serviço anexados é atualizada para mostrar apenas o projetos que permanecem anexados ao projeto host.
gcloud
Para adicionar um projeto de serviço a um projeto host:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
SERVICE_PROJECT_ID
pelo nome do
projeto de serviço que você quer adicionar ao projeto host.
Para remover um projeto de serviço do projeto host:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Conferir aplicativos, serviços e cargas de trabalho
É possível conferir os aplicativos em um projeto e listar serviços e cargas de trabalho em um aplicativo.
Console
Para conferir os aplicativos em um projeto, acesse o console do Google Cloud Página Aplicativos do App Hub.
Para listar serviços e cargas de trabalho:
Aplicativos
No console do Google Cloud, acesse a página Aplicativos do App Hub.
Clique no nome de um aplicativo. Uma página com uma lista de serviços e cargas de trabalho registrados no é exibido.
Opcional: para filtrar os serviços ou as cargas de trabalho, faça o seguinte:
- No campo Filtro, selecione uma opção, como Importância.
- Selecione Alta como o valor.
Uma lista de serviços e cargas de trabalho de alta criticidade que estão registrados no aplicativo aparece.
Serviços e cargas de trabalho
No console do Google Cloud, acesse a página Serviços e cargas de trabalho do App Hub.
Na lista Região, selecione as regiões de onde você quer para conferir os serviços e as cargas de trabalho. Por exemplo, selecione us-east1.
A página Serviços e cargas de trabalho mostra todos os serviços e cargas de trabalho dos projetos de serviço anexados associados a us-east1.Opcional: para filtrar os serviços ou as cargas de trabalho, faça o seguinte:
- No campo Filtro, selecione uma opção, como Ambiente.
- Selecione Produção como o valor.
Uma lista de serviços e cargas de trabalho no ambiente de produção que está registrado em um aplicativo aparece.
gcloud
Para ver aplicativos em um projeto:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=REGION
Para listar os serviços registrados em um aplicativo:
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Para listar as cargas de trabalho registradas em um aplicativo:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Limpar
Limpe um aplicativo atual e remova um anexo de projeto de serviço do projeto host para remover recursos associados a ele. Com isso, descoberta automática de recursos no projeto de serviço.
Para isso, primeiro é preciso excluir cargas de trabalho e serviços registrados no para o aplicativo.
Console
No console do Google Cloud, acesse a página Aplicativos do Hub de apps.
Clique no nome de um aplicativo. Uma lista de serviços e cargas de trabalho registrados no aplicativo vai aparecer.
Cancelar a inscrição de um serviço ou carga de trabalho.
- Na guia Serviços e cargas de trabalho, no na seção Serviços e cargas de trabalho registrados, clique no nome ou carga de trabalho que você quer cancelar.
- Na guia Detalhes, clique em Cancelar registro para atualizar o serviço ou a carga de trabalho como um recurso Descoberto.
Na guia Serviços e cargas de trabalho, um alerta notifica que a carga de trabalho não está registrada. - Repita essas instruções para cada serviço e carga de trabalho.
Acesse a página Aplicativos do App Hub.
Clique no nome de um aplicativo.
Na página com os detalhes do aplicativo, clique em Excluir.
Neste documento, use as instruções em Adicionar ou remover projetos de serviço para remover os projetos de serviço do projeto host.
gcloud
Liste as cargas de trabalho registradas no aplicativo:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME --project=HOST_PROJECT_ID \ --location=REGION
Cancele o registro da carga de trabalho no aplicativo:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
A carga de trabalho agora é uma carga de trabalho descoberta que pode ser registrada no aplicativo.
Repita o comando anterior para excluir os demais workloads registrados do aplicativo.
Liste os serviços registrados no aplicativo:
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Cancele o registro do serviço no aplicativo:
gcloud apphub applications services delete SERVICE_NAME \ --application=APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
O serviço agora é um serviço descoberto que pode ser registrado no aplicativo.
Repita o comando anterior para cancelar o registro dos serviços restantes registrados no aplicativo.
Exclua o aplicativo:
gcloud apphub applications delete APPLICATION_NAME \ --project=HOST_PROJECT_ID \ --location=REGION
Remova um projeto de serviço do projeto host:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Repita o comando anterior para remover todos os projetos de serviço do host projeto.