Configurare App Hub

Questo documento fornisce istruzioni per configurare App Hub per creare, utilizzare e gestire le applicazioni su Google Cloud. È destinato alle persone che configurano e amministrano App Hub.

Se stai configurando App Hub, le attività principali sono le seguenti:

  1. Decidi se creare un nuovo progetto host App Hub o se utilizzare un progetto esistente come progetto host.
    • Se prevedi di avere più di un progetto host, ti consigliamo vivamente di crearli nella stessa cartella.
    • I progetti host in App Hub sono diversi dai progetti host del VPC condiviso e non hanno gli stessi requisiti. Ad esempio, non hai bisogno di una rete VPC condiviso per utilizzare App Hub. In questo documento, tutti i riferimenti ai progetti host si riferiscono a progetti host di App Hub.
    • Un progetto host non può essere un progetto di servizio diverso da se stesso.
  2. Abilita l'API App Hub nel progetto host.
  3. Aggiungi uno o più progetti di servizio App Hub al progetto host.
    • I progetti di servizio in App Hub sono diversi dai progetti di servizio VPC condiviso e non hanno gli stessi requisiti. In questo documento, tutti i riferimenti ai progetti di servizio si riferiscono ai progetti di servizio App Hub.
  4. Designa gli utenti di App Hub come amministratori di App Hub, editor dell'App Hub o visualizzatori App Hub.
  5. Creare applicazioni.
  6. Registrare servizi e carichi di lavoro nell'applicazione.

Servizi e carichi di lavoro

Con App Hub, le risorse dei progetti di servizio collegati al progetto host sono disponibili come servizi e carichi di lavoro. La registrazione di servizi e carichi di lavoro in un'applicazione consente di osservare e monitorare le risorse. Puoi designare le seguenti risorse come servizi App Hub e registrarle nelle applicazioni App Hub:

  • Regole di forwarding
  • Mappe URL
  • Servizi di backend

Puoi designare gruppi di istanze gestite, ma non singole VM, come carichi di lavoro e registrarli nelle applicazioni App Hub.

App Hub supporta i bilanciatori del carico delle applicazioni interni ed esterni L7 regionali con traffico HTTP o HTTPS.

I carichi di lavoro e i servizi registrati devono trovarsi nella stessa regione dell'applicazione. Di conseguenza, le istruzioni e i comandi successivi presuppongono che tutte le risorse si trovino nella stessa regione. Per informazioni sulle regioni che puoi classificare, consulta la sezione Località.

Procedura di configurazione generale

Il seguente elenco riassume i passaggi per configurare App Hub:

  1. Determina quali risorse esistenti includere nell'applicazione e a quali progetti appartengono.
  2. Crea un progetto host App Hub e abilita l'API App Hub nel progetto. Facoltativamente, in base alla struttura organizzativa della tua azienda, puoi creare più di un progetto host. Se crei più progetti, ti consigliamo di crearli in una nuova cartella.
  3. Collega i progetti di servizio. Dopo aver configurato un progetto host, collega i progetti di servizio con le risorse sottostanti necessarie alle tue applicazioni al progetto host. Nota:
    1. I progetti di servizio devono trovarsi nella stessa organizzazione del progetto host. Dopo aver collegato un progetto di servizio a un progetto host, non puoi spostarlo in un'altra organizzazione. Per spostare il progetto di servizio in un'altra organizzazione, segui le istruzioni riportate in questo documento per rimuovere o scollegare il collegamento del progetto di servizio dal progetto host. Puoi quindi collegare il progetto di servizio a un'altra organizzazione.
    2. Un progetto di servizio non può essere collegato a più di un progetto host.
    3. Un progetto host può essere un progetto di servizio a sé stante, ma non può essere un progetto di servizio per qualsiasi altro progetto host.
    4. Dopo aver collegato i progetti di servizio a un progetto host, l'esecuzione di query sul progetto host per trovare servizi o carichi di lavoro restituisce automaticamente tutti i servizi e i carichi di lavoro in tutti i progetti di servizio.
  4. Crea un'applicazione per organizzare più carichi di lavoro e servizi. Nota:
    1. Assicurati che l'applicazione abbia un nome univoco nel progetto host e nella località.
    2. Un progetto di servizio può essere collegato a un progetto host con più applicazioni, ma le sue singole risorse possono essere registrate in una sola applicazione.
  5. Esegui query per servizi e carichi di lavoro e registrali nella tua applicazione. Dopo aver creato un'applicazione, esegui una query sul progetto host per individuare i servizi e i carichi di lavoro disponibili. Le query vengono eseguite sul progetto host e su tutti i progetti di servizio collegati al progetto host. Inoltre, restituiscono tutti i servizi e carichi di lavoro di quei progetti. Nota:
    1. Puoi registrare un servizio o un carico di lavoro solo in una singola applicazione.
    2. Tutti i carichi di lavoro e i servizi che registri devono trovarsi nella stessa regione dell'applicazione.
    3. I servizi e i carichi di lavoro registrati non sono interessati dagli aggiornamenti della risorsa dell'infrastruttura sottostante. In altre parole, se elimini le risorse sottostanti che fungono da servizi e carichi di lavoro, App Hub non elimina i carichi di lavoro e i servizi associati dall'applicazione. Devi annullare separatamente la registrazione del carico di lavoro o del servizio.

Prerequisiti

Prima di configurare App Hub, completa le attività seguenti.

  1. Decidi quale progetto esistente sarà il progetto host o creane uno nuovo come progetto host. Ti consigliamo vivamente di creare un nuovo progetto.
  2. Assicurati di aver deciso quali utenti dispongono dei ruoli IAM (Identity and Access Management) per App Hub: Amministratore App Hub, Editor App Hub e Visualizzatore App Hub.

Tieni presente quanto segue:

  • Ai progetti host possono essere collegati uno o più progetti di servizio.
  • Un progetto di servizio non può essere collegato a più di un progetto host.
  • La persona che collega un progetto di servizio a un progetto host deve disporre del ruolo IAM Amministratore App Hub sia nel progetto di servizio che nel progetto host. Per ulteriori informazioni, consulta Ruoli e autorizzazioni di App Hub.

Configurare App Hub

In questa sezione creerai un'architettura di App Hub di esempio.

Nell'esempio, un'organizzazione ha tre progetti di servizio, le cui risorse di infrastruttura sono state implementate nei progetti come segue:

  • Il progetto di servizio 1 ha due risorse di infrastruttura: servizio 1 e servizio 2.
  • Il progetto di servizio 2 ha tre risorse dell'infrastruttura: servizio 3, carico di lavoro 1 e carico di lavoro 2.
  • Il progetto di servizio 3 ha tre risorse dell'infrastruttura: servizio 4, carico di lavoro 3 e carico di lavoro 4.

Assicurati che i progetti scelti per la creazione dell'esempio contengano le risorse descritte in questa sezione oppure preparati a modificare l'esempio man mano che segui le istruzioni.

Le seguenti sezioni contengono le istruzioni per creare un esempio di App Hub. Puoi creare un progetto host e aggiungere progetti di servizio al progetto host, quindi creare un'applicazione e collegare servizi e carichi di lavoro all'applicazione. L'esempio include tre progetti di servizio, ma puoi aggiungerne di più o di meno.

L'esempio presuppone che i progetti di servizio che aggiungi esistano già e che contengano servizi e carichi di lavoro aggiunti all'applicazione. Prima di creare l'esempio, determina quali progetti di servizio contengono i servizi e i carichi di lavoro da includere nell'applicazione.

Abilita App Hub

In questa sezione devi selezionare o creare un nuovo progetto host, abilitare l'API App Hub e concedere i ruoli e le autorizzazioni appropriati alle persone della tua organizzazione. Puoi anche collegare i progetti di servizio al progetto host.

Console

  1. Nella console Google Cloud, vai alla pagina del selettore progetti.

    Vai al selettore progetti

  2. Seleziona o crea un progetto Google Cloud che sarà il tuo progetto host App Hub.

  3. Attiva l'API richiesta.

    Abilita l'API

  4. Se sei l'autore del progetto, ti viene concesso il ruolo Proprietario di base (roles/owner). Per impostazione predefinita, questo ruolo IAM (Identity and Access Management) include le autorizzazioni necessarie per l'accesso completo alla maggior parte delle risorse Google Cloud.

    Se non sei l'autore del progetto, devi concedere le autorizzazioni richieste per il progetto all'entità appropriata. Ad esempio, un'entità può essere un Account Google (per gli utenti finali) o un account di servizio (per applicazioni e carichi di lavoro di computing). Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:

    1. Nella console Google Cloud, vai alla pagina IAM.

      Vai a IAM

    2. Fai clic su Concedi l'accesso. Si apre il riquadro Concedi l'accesso.

    3. Nel campo Nuove entità, inserisci l'indirizzo email della persona che amministrerà App Hub, il ruolo Amministratore App Hub nel progetto host.

    4. Fai clic su Seleziona un ruolo e inserisci App Hub nel campo Filtro.

    5. Seleziona il ruolo Amministratore App Hub e fai clic su Salva.

    6. In ogni progetto di servizio App Hub, concedi il ruolo Amministratore App Hub allo stesso utente.

  5. Nella console Google Cloud, vai alla pagina Impostazioni di App Hub.

    Vai alle impostazioni

  6. Nella pagina Impostazioni, fai clic su Collega progetti.

  7. Esegui una di queste operazioni:

    • Nell'elenco dei progetti, seleziona le caselle di controllo corrispondenti ai progetti che vuoi aggiungere come progetti di servizio.
    • Cerca progetti e seleziona quelli da aggiungere come progetti di servizio.
  8. Fai clic su Seleziona. La tabella Progetti di servizio collegati mostra i progetti di servizio selezionati.

  9. Fai clic su Chiudi.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Assicurati che sia installata la versione più recente di Google Cloud CLI. Esegui questo comando da Cloud Shell:

    gcloud components update
  3. Crea o seleziona un nuovo progetto, HOST_PROJECT_ID, da utilizzare come progetto host per App Hub.

    • Crea un progetto Google Cloud:
      gcloud projects create HOST_PROJECT_ID
    • Seleziona il progetto Google Cloud che hai creato:
      gcloud config set project HOST_PROJECT_ID
  4. Abilita l'API App Hub nel progetto host che hai appena creato.

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    
  5. Se sei l'autore del progetto, ti viene concesso il ruolo Proprietario di base (roles/owner). Per impostazione predefinita, questo ruolo IAM (Identity and Access Management) include le autorizzazioni necessarie per l'accesso completo alla maggior parte delle risorse Google Cloud.

    Se non sei l'autore del progetto, devi concedere le autorizzazioni richieste per il progetto all'entità appropriata. Ad esempio, un'entità può essere un Account Google (per gli utenti finali) o un account di servizio (per applicazioni e carichi di lavoro di computing). Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:

    1. Facoltativamente, concedi alle persone che amministreranno App Hub, il ruolo di amministratore di App Hub nel progetto host. Ripeti il comando seguente per ciascun amministratore.

      gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      

      Sostituisci HOST_PROJECT_ADMIN con l'utente che dispone del ruolo Amministratore App Hub nel progetto host. Questo valore è nel formato username@yourdomain, ad esempio robert.smith@example.com.

    2. Concedi il ruolo Amministratore App Hub nei progetti di servizio alle persone che amministrano App Hub. Deve avere il ruolo Amministratore App Hub per aggiungere progetti di servizio al progetto host. È necessaria almeno una persona con questo ruolo per ogni progetto di servizio. Un'unica persona può avere il ruolo in più progetti di servizio.

      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'
      

      Sostituisci quanto segue:

      • SERVICE_PROJECT_1: il primo dei tre progetti di servizio in questo esempio.
      • SERVICE_PROJECT_2: il secondo dei tre progetti di servizio in questo esempio.
      • SERVICE_PROJECT_3: il terzo dei tre progetti di servizio in questo esempio.
  6. Aggiungi i tuoi progetti di servizio al progetto host 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 un'applicazione

Se non ne hai già una, crea un'applicazione da utilizzare come container per i tuoi servizi e carichi di lavoro.

Console

  1. Assicurati di essere nel progetto host.
  2. Nella console Google Cloud, vai alla pagina Applicazioni di App Hub.

    Vai a Applicazioni

  3. Fai clic su Crea applicazione. Viene visualizzato il riquadro Crea applicazione.

  4. Seleziona una Regione.

  5. Inserisci il Nome applicazione e fai clic su Continua.

  6. Nella sezione Aggiungi attributi, inserisci il Nome visualizzato.

  7. Facoltativamente, aggiungi ulteriori dettagli sull'applicazione nei campi seguenti. Per ulteriori informazioni, vedi Aggiornare un'applicazione App Hub esistente in questo documento.

  8. Fai clic su Crea.

gcloud

  1. Crea una nuova applicazione denominata APPLICATION_NAME e assegnale un nome visualizzato, APPLICATION_DISPLAY_NAME. Il flag --scope-type definisce quali servizi e carichi di lavoro possono essere registrati in un'applicazione. È supportato solo REGIONAL, il che significa che è possibile registrare solo servizi e carichi di lavoro della stessa regione dell'applicazione.

    gcloud apphub applications create APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --scope-type=REGIONAL \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

    • APPLICATION_NAME: il nome della tua applicazione. Il nome deve includere caratteri alfanumerici minuscoli senza spazi.
    • APPLICATION_DISPLAY_NAME: il nome visualizzato dell'applicazione.
    • REGION: la regione dell'applicazione. Assegna il valore us-east1.
  2. Elenca le applicazioni nel progetto host.

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente:

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    
  3. Visualizza i dettagli dell'applicazione che hai creato.

    gcloud apphub applications describe APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Il comando restituisce informazioni in formato YAML, simili a quanto segue.

    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'
    
    

Aggiorna un'applicazione App Hub esistente

Puoi anche aggiornare gli attributi dell'applicazione dopo averla creata.

Console

  1. Nella console Google Cloud, vai alla pagina Applicazioni di App Hub.

    Vai a Applicazioni

  2. Nell'elenco delle applicazioni, fai clic su Modifica per l'applicazione da aggiornare.

  3. Modifica i campi come richiesto e fai clic su Salva.

  4. (Facoltativo) Nell'elenco Criticità, seleziona una delle seguenti opzioni per indicare l'importanza dell'applicazione:

    • Mission critical
    • Alto
    • Medio
    • Basso
  5. (Facoltativo) Nel campo Ambiente, per indicare la fase del ciclo di vita del software, seleziona una delle seguenti opzioni:

    • Produzione
    • Gestione temporanea
    • Sviluppo
    • Test
  6. (Facoltativo) Aggiungi i seguenti dettagli come richiesto per Proprietari sviluppatori, Proprietari operatori e Proprietari dell'attività. Tieni presente che devi inserire l'indirizzo email del proprietario se aggiungi un nome visualizzato.

    1. Inserisci il nome visualizzato del proprietario.
    2. Inserisci l'indirizzo email del proprietario. Questo valore deve avere il formato username@yourdomain, ad esempio robert.smith@example.com.
  7. Ripeti questi passaggi per ciascun sviluppatore, operatore e proprietario dell'attività.

  8. Fai clic su Salva.

gcloud

  1. Aggiorna l'applicazione con gli attributi criticality-type, environment-type e tipo proprietario:

    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
    

    Sostituisci quanto segue:

    • CRITICALITY_LEVEL: indica quanto sia cruciale un'applicazione, un servizio o un carico di lavoro per le tue operazioni aziendali. Specifica uno dei seguenti valori:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT: indica le fasi del ciclo di vita del software. Specifica uno dei seguenti valori:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR e DISPLAY-NAME-BUSINESS: nomi visualizzati rispettivamente di sviluppatore, operatore e proprietari dell'attività.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR e EMAIL-NAME-BUSINESS: indirizzi email rispettivamente dello sviluppatore, dell'operatore e dei proprietari dell'attività. Questi valori devono essere nel formato username@yourdomain, ad esempio robert.smith@example.com.
  2. Elenca le applicazioni in cui l'attributo environment-type ha il valore PRODUCTION.

    gcloud apphub applications list \
        --filter='attributes.environment.type=PRODUCTION' \
        --project=HOST_PROJECT_ID \
        --location=REGION
    

    L'output è simile al seguente:

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    

Registra servizi e carichi di lavoro

Quando registri servizi di infrastruttura e carichi di lavoro in un'applicazione, i servizi e i carichi di lavoro vengono registrati come risorse App Hub. Se utilizzi i segnaposto per creare l'applicazione con gcloud CLI, i servizi e i carichi di lavoro nei tre progetti di servizio sono i seguenti:

  • Il progetto di servizio 1 ha due risorse di infrastruttura: servizio 1 e servizio 2.
  • Il progetto di servizio 2 ha tre risorse dell'infrastruttura: servizio 3, carico di lavoro 1 e carico di lavoro 2.
  • Il progetto di servizio 3 ha tre risorse dell'infrastruttura: servizio 4, carico di lavoro 3 e carico di lavoro 4.

Console

  1. Nella console Google Cloud, vai alla pagina Applicazioni di App Hub.

    Vai a Applicazioni

  2. Fai clic sul nome dell'applicazione. Viene visualizzata la scheda Servizi e carichi di lavoro con un elenco di servizi e carichi di lavoro registrati presenti nei tuoi progetti di servizio.

  3. Per ogni servizio o carico di lavoro che vuoi registrare:

    1. Nella scheda Servizi e carichi di lavoro, fai clic su Registra servizio/carico di lavoro.
    2. Nel riquadro Registra servizio o carico di lavoro, nella sezione Scegli servizio o carico di lavoro, seleziona il servizio o il carico di lavoro e fai clic su Continua.
    3. Nella sezione Aggiungi attributi, inserisci un Nome per il servizio o per il carico di lavoro.
    4. Facoltativamente, aggiungi ulteriori dettagli sul servizio o sul carico di lavoro nei campi seguenti. Per ulteriori informazioni, in questo documento, vedi Aggiornare un'applicazione App Hub esistente. Tieni presente che devi fornire uno dei valori specificati per i campi Criticità e Ambiente, ma il valore può essere diverso da quelli impostati quando crei l'applicazione.
    5. Fai clic su Registrati. La scheda Servizi e carichi di lavoro mostra il servizio o il carico di lavoro registrato. Per ulteriori informazioni sugli stati della registrazione, consulta le proprietà e gli attributi di App Hub.

gcloud

  1. Aggiungi una persona con le autorizzazioni di editor di App Hub.

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
      --member='user:APP_HUB_EDITOR' \
      --role='roles/apphub.editor'
    

    Sostituisci APP_HUB_EDITOR con l'utente che dispone del ruolo Editor App Hub nel progetto host. Questo valore ha il formato username@yourdomain, ad esempio robert.smith@example.com.

  2. Elenca i carichi di lavoro rilevati dal progetto di servizio 2, collegato al progetto host. Questo comando restituisce i carichi di lavoro disponibili per essere registrati in un'applicazione.

    gcloud apphub discovered-workloads list \
      --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente, che include gruppi di istanze gestite non registrati:

    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 l'ID carico di lavoro dall'output per utilizzarlo nel passaggio successivo.

  3. Registra un carico di lavoro dal passaggio precedente alla tua applicazione.

    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
    

    Sostituisci quanto segue:

    • WORKLOAD_NAME: un nome con cui registrare il carico di lavoro.
    • DISCOVERED_WORKLOAD_ID_2: l'ID carico di lavoro dall'output del passaggio precedente.
  4. Ripeti i due passaggi precedenti per filtrare e registrare i carichi di lavoro che vuoi da Service Project 3.

  5. (Facoltativo) Puoi aggiornare i carichi di lavoro con gli attributi criticality-type, environment-type e proprietario.

    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
    

    Tieni presente che devi fornire uno dei valori specificati per criticality-type e environment-type, ma il valore può essere diverso da quelli che hai impostato quando crei l'applicazione.

  6. Elenca i carichi di lavoro registrati nell'applicazione.

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente:

    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
    

    I carichi di lavoro registrati, ma scollegati sono indicati con un valore vuoto nel campo WORKLOAD_REFERENCE. Per ulteriori informazioni sugli stati di registrazione, consulta le proprietà e gli attributi di App Hub.

  7. Elenca i servizi rilevati con regole di forwarding nel progetto di servizio 1 collegato al progetto host. Questo comando restituisce i servizi disponibili per la registrazione in un'applicazione.

    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
    

    L'output è simile al seguente:

    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 l'ID servizio DISCOVERED_SERVICE_ID_2 dall'output per utilizzarlo nel passaggio successivo.

  8. Registra la regola di forwarding, testing-forwarding-rule-2 nel progetto di servizio 1 come servizio.

    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
    

    Sostituisci quanto segue:

    • SERVICE_NAME: un nome con cui registrare il servizio.
    • DISCOVERED_SERVICE_ID_2: l'ID servizio dall'output del passaggio precedente.
  9. Ripeti i passaggi precedenti che elencano i servizi, li filtrano e registrano i servizi nei progetti di servizio 1, 2 e 3.

  10. Aggiorna un servizio con gli attributi criticality-type e environment-type.

    gcloud apphub applications services update SERVICE_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID  \
      --location=REGION
    
  11. Elenca i servizi registrati nell'applicazione APPLICATION_NAME e nel progetto host HOST_PROJECT_ID.

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    L'output è simile al seguente per ogni servizio:

    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
    

    I servizi registrati, ma scollegati sono indicati con un valore vuoto nel campo SERVICE_REFERENCE.

  12. Filtra i servizi nell'applicazione APPLICATION_NAME e nel progetto host HOST_PROJECT_ID in base a quelli in cui l'attributo environment-type è impostato su PRODUCTION.

    gcloud apphub applications services list \
      --filter='attributes.environment.type=PRODUCTION' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

La procedura di configurazione di App Hub è stata completata.

Aggiungi o rimuovi progetti di servizio

Puoi modificare i collegamenti del progetto di servizio per rendere disponibili diverse risorse dell'infrastruttura da raggruppare in un'applicazione.

Console

Per aggiungere un progetto di servizio a un progetto host:

  1. Nella console Google Cloud, vai alla pagina Impostazioni di App Hub.

    Vai alle impostazioni

  2. Nella pagina Impostazioni, fai clic su Collega progetti.

  3. Nel riquadro che si apre, cerca i progetti o, nell'elenco visualizzato, seleziona le caselle di controllo relative ai progetti che vuoi aggiungere come progetti di servizio.

  4. Fai clic su Seleziona. La tabella Progetti di servizio collegati mostra i progetti selezionati come progetti di servizio per il progetto host.

  5. Fai clic su Chiudi.

Per rimuovere un progetto di servizio da un progetto host:

  1. Nella console Google Cloud, vai alla pagina Impostazioni di App Hub.

    Vai alle impostazioni

  2. Nella pagina Impostazioni, seleziona le caselle di controllo relative ai progetti che vuoi rimuovere come progetti di servizio.

  3. Fai clic su Scollega progetti. La tabella Progetti di servizio collegati viene aggiornata per visualizzare solo i progetti che rimangono collegati al progetto host.

gcloud

Per aggiungere un progetto di servizio a un progetto host:

gcloud apphub service-projects add SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID
Sostituisci SERVICE_PROJECT_ID con il nome del progetto di servizio da aggiungere al progetto host. Per rimuovere un progetto di servizio dal progetto host:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID

Visualizza applicazioni, servizi e carichi di lavoro esistenti

Puoi visualizzare le applicazioni in un progetto ed elencare i servizi e i carichi di lavoro di un'applicazione.

Console

  • Per visualizzare le applicazioni in un progetto, nella console Google Cloud vai alla pagina Applicazioni di App Hub.

    Vai a Applicazioni

  • Per elencare servizi e carichi di lavoro:

    Applicazioni

    1. Nella console Google Cloud, vai alla pagina Applicazioni di App Hub.

      Vai a Applicazioni

    2. Fai clic sul nome di un'applicazione. Viene visualizzata una pagina con un elenco di servizi e carichi di lavoro registrati nella tua applicazione.

    3. (Facoltativo) Per filtrare i servizi o i carichi di lavoro:

      1. Nel campo Filtro, seleziona un filtro, ad esempio Criticità.
      2. Seleziona Alto come valore.
        Viene visualizzato un elenco di servizi e carichi di lavoro di elevata criticità registrati nell'applicazione.

    Servizi e carichi di lavoro

    1. Nella console Google Cloud, vai alla pagina Servizi e carichi di lavoro di App Hub.

      Vai a Servizi e carichi di lavoro

    2. Nell'elenco Regione, seleziona le regioni da cui vuoi visualizzare i servizi e i carichi di lavoro. Ad esempio, seleziona us-east1.
      La pagina Servizi e carichi di lavoro mostra tutti i servizi e i carichi di lavoro dei progetti di servizio associati associati a us-east1.

    3. (Facoltativo) Per filtrare i servizi o i carichi di lavoro:

      1. Nel campo Filtro, seleziona un filtro, ad esempio Ambiente.
      2. Seleziona Produzione come valore.
        Viene visualizzato un elenco di servizi e carichi di lavoro nell'ambiente di produzione registrati in un'applicazione.

gcloud

Per visualizzare le applicazioni in un progetto:

gcloud apphub applications list \
    --project=HOST_PROJECT_ID \
    --location=REGION

Per elencare i servizi registrati in un'applicazione:

gcloud apphub applications services list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

Per elencare i carichi di lavoro registrati in un'applicazione:

gcloud apphub applications workloads list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

Esegui la pulizia

Eseguire la pulizia di un'applicazione esistente e rimuovere il collegamento di un progetto di servizio dal progetto host per rimuovere le risorse associate al progetto. In questo modo viene interrotto il rilevamento automatico delle risorse nel progetto di servizio.

Per farlo, devi prima eliminare i carichi di lavoro e i servizi registrati nell'applicazione.

Console

  1. Nella console Google Cloud, vai alla pagina Applicazioni di App Hub.

    Vai a Applicazioni

  2. Fai clic sul nome di un'applicazione. Viene visualizzato un elenco di servizi e carichi di lavoro registrati nell'applicazione.

  3. Annullare la registrazione di un servizio o di un carico di lavoro.

    1. Nella scheda Servizi e carichi di lavoro, nella sezione Servizi e carichi di lavoro registrati, fai clic sul nome del servizio o del carico di lavoro di cui vuoi annullare la registrazione.
    2. Nella scheda Dettagli, fai clic su Annulla registrazione del servizio o Annulla registrazione del carico di lavoro per aggiornare il servizio o il carico di lavoro come risorsa Rilevata.
      Nella scheda Servizi e carichi di lavoro, un avviso notifica che il carico di lavoro non è registrato.
    3. Ripeti queste istruzioni per ciascun servizio e carico di lavoro.
  4. Vai alla pagina Applicazioni dell'App Hub.

    Vai a Applicazioni

  5. Fai clic sul nome di un'applicazione.

  6. Nella pagina con i dettagli dell'applicazione, fai clic su Elimina.

  7. In questo documento, utilizza le istruzioni in Aggiungere o rimuovere progetti di servizio per rimuovere i progetti di servizio dal progetto host.

gcloud

  1. Elenca i carichi di lavoro registrati nell'applicazione:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME --project=HOST_PROJECT_ID \
      --location=REGION
    
  2. Annulla la registrazione del carico di lavoro dall'applicazione:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Il carico di lavoro è ora rilevato e può essere registrato nell'applicazione.

  3. Ripeti il comando precedente per eliminare i restanti carichi di lavoro registrati dall'applicazione.

  4. Elenca i servizi registrati nell'applicazione:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  5. Annulla la registrazione del servizio dall'applicazione:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Il servizio è ora rilevato e può essere registrato nell'applicazione.

  6. Ripeti il comando precedente per annullare la registrazione dei servizi registrati rimanenti dall'applicazione.

  7. Elimina l'applicazione:

    gcloud apphub applications delete APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  8. Rimuovi un progetto di servizio dal progetto host:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  9. Ripeti il comando precedente per rimuovere tutti i progetti di servizio dal progetto host.

Passaggi successivi