Configurare le risorse Google Cloud

Oltre a soddisfare i prerequisiti di installazione, hardware e sistema operativo, devi configurare e configurare progetti, API e account di servizio Google Cloud per eseguire i Anthos clusters on bare metal.

Tieni presente che il comando bmctl può attivare automaticamente gli account di servizio e le API al momento della creazione del cluster, ma puoi anche configurarli manualmente per un controllo più preciso delle operazioni.

Prima di iniziare

Crea un progetto Google Cloud e un account di fatturazione.

Durante l'installazione, devi fornire le seguenti credenziali:

  • Le chiavi SSH private necessarie per accedere alle macchine dei nodi del cluster.
  • Se non utilizzi root, il nome di accesso alla macchina del nodo cluster.

Assicurati di disporre di tutte le credenziali necessarie prima di tentare di installare Anthos clusters on bare metal.

Accesso a gcloud

  1. Accedi a gcloud come utente utilizzando l'accesso gcloud auth application-default:
  2. gcloud auth application-default login
    
    Devi avere un ruolo Proprietario/Editor del progetto per utilizzare l'abilitazione automatica delle API e le funzionalità di creazione dell'account di servizio, descritte di seguito. Puoi anche aggiungere i seguenti ruoli IAM all'utente:
    • Amministratore account di servizio
    • Amministratore chiavi account di servizio
    • Amministratore IAM progetto
    • Visualizzatore Compute
    • Amministratore Service Usage
    In alternativa, se hai già un account di servizio con questi ruoli, esegui:
    export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
    
    JSON_KEY_FILE specifica il percorso del file della chiave JSON dell'account di servizio.
  3. Ottieni l'ID progetto Google Cloud da utilizzare con la creazione del cluster:
  4. export CLOUD_PROJECT_ID=$(gcloud config get-value project)
    

Impostare l'ID progetto e i ruoli Google Cloud predefiniti

Puoi impostare project id predefinito oltre a configurare gli account di servizio.

Devi avere owner o editor ruoli sul progetto per Anthos clusters on bare metal.

Per impostare il progetto predefinito, esegui il comando seguente e sostituisci PROJECT_ID con il tuo ID progetto Google Cloud:

gcloud config set project PROJECT_ID

Abilita API

Prima di installare Anthos clusters on bare metal, devi abilitare diverse API nel tuo progetto Google Cloud associato. Per abilitare le API nel tuo progetto, devi disporre di uno dei seguenti ruoli nel progetto Google Cloud roles/owner, roles/editor o roles/serviceusage.serviceUsageAdmin.

Per ulteriori informazioni, consulta la pagina Concedere un ruolo singolo.

Dopo che disponi delle autorizzazioni IAM richieste, abilita le seguenti API:

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • iam.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com

Puoi anche utilizzare lo strumento bmctl per abilitare questi servizi.

Configura manualmente gli account di servizio

Il comando bmctl di Anthos clusters on bare metal può configurare automaticamente account di servizio e API di Google quando crei i cluster.

Tuttavia, per un maggiore controllo sul sistema o per semplificare la creazione di cluster con un set predefinito di servizi, account e progetti, puoi configurare questi servizi manualmente.

Negli ambienti di produzione, devi creare account di servizio distinti per scopi diversi. Anthos clusters on bare metal ha bisogno dei seguenti tipi diversi di account di servizio Google Cloud a seconda del loro scopo:

  • Per accedere a Container Registry (gcr.io), non sono richiesti ruoli speciali.
  • Per registrare un cluster in un parco risorse, concedi il ruolo IAM roles/gkehub.admin all'account di servizio nel progetto Google Cloud.
  • Per connetterti ai parchi risorse, concedi il ruolo IAM roles/gkehub.connect all'account di servizio nel progetto Google Cloud.
  • Per inviare log e metriche alla suite operativa di Google Cloud, concedi i seguenti ruoli IAM all'account di servizio nel tuo progetto Google Cloud:

    • roles/logging.logWriter
    • roles/monitoring.metricWriter
    • roles/stackdriver.resourceMetadata.writer
    • roles/monitoring.dashboardEditor
    • roles/opsconfigmonitoring.resourceMetadata.writer

Anthos clusters on bare metal connette i tuoi cluster a Google Cloud. Questa connessione attiva la seguente funzionalità:

  • Connetti per connettere il cluster Bare Metal a Google Cloud. Ciò consente l'accesso alle funzionalità di gestione dei cluster e dei carichi di lavoro, inclusa un'interfaccia utente unificata, Cloud Console, per interagire con il tuo cluster.
  • Logging e Monitoring per visualizzare i log e le metriche del cluster nella console Cloud.
  • Caricamenti automatici di snack cluster nei bucket Cloud Storage.

Il processo di configurazione manuale dell'accesso include:

  • Abilitazione dei servizi Google necessari nel tuo progetto Cloud.
  • Creazione dei seguenti account di servizio con i ruoli necessari:
    • account di servizio Connect-Agent: Connect utilizza questo account di servizio per mantenere una connessione tra il cluster e Google Cloud.
    • account di servizio Connect-register: Connect utilizza questo account di servizio per registrare i cluster con Google Cloud.
    • account di servizio di monitoraggio dei log: Connect utilizza questo account di servizio per esportare i log e le metriche dai cluster a Logging e Monitoring.
    • account di servizio dell'agente di archiviazione: bmctl utilizza questo account di servizio per archiviare automaticamente snapshot di cluster in Cloud Storage.

  • Scaricare i file di chiave JSON per ogni account di servizio.

Quindi aggiungi riferimenti ai file di chiave JSON ai file di configurazione del cluster appropriati. Per ulteriori informazioni, consulta la sezione Creazione di cluster: panoramica.

Configura gli account di servizio da utilizzare con Connect

Per creare gli account di servizio e i file delle chiavi:

  1. Assicurati di essere nella directory baremetal.
  2. Abilita i servizi Google necessari nel tuo progetto Cloud:
  3. gcloud services enable --project=PROJECT_ID \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        connectgateway.googleapis.com \
        cloudresourcemanager.googleapis.com \
        anthos.googleapis.com
  4. Crea l'account di servizio Connect-Agent con il ruolo necessario e scarica il file della chiave. Questi passaggi creano il file della chiave connect-agent.json nella directory baremetal:
    1. Crea account di servizio:
    2. gcloud iam service-accounts create connect-agent-svc-account --project=PROJECT_ID
    3. Concedi il ruolo gkehub.connect:
    4. gcloud projects add-iam-policy-binding  PROJECT_ID \
          --member="serviceAccount:connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/gkehub.connect"
    5. Scarica il file della chiave JSON dell'account di servizio:
    6. gcloud iam service-accounts keys create connect-agent.json \
          --project=PROJECT_ID \
          --iam-account=connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com
      
  5. Crea l'account di servizio Connect-register con il ruolo necessario e scarica il file della chiave. Questi passaggi creano il file della chiave connect-register.json nella directory baremetal:
    1. Crea account di servizio:
    2. gcloud iam service-accounts create connect-register-svc-account \
          --project=PROJECT_ID
    3. Concedi il ruolo gkehub.admin:
    4. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role=roles/gkehub.admin
    5. Scarica il file della chiave JSON dell'account di servizio:
    6. gcloud iam service-accounts keys create connect-register.json \
          --project=PROJECT_ID \
          --iam-account=connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com
      

Configura un account di servizio per controllare gli audit log e monitorare i progetti

Per creare l'account di servizio e il file della chiave per il logging e il monitoraggio:

  1. Assicurati di essere nella directory baremetal.
  2. Abilita i servizi Google necessari nel tuo progetto Cloud:
  3. gcloud services enable --project PROJECT_ID \
        anthos.googleapis.com \
        anthosaudit.googleapis.com \
        anthosgke.googleapis.com \
        cloudresourcemanager.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        logging.googleapis.com \
        monitoring.googleapis.com \
        opsconfigmonitoring.googleapis.com \
        serviceusage.googleapis.com \
        stackdriver.googleapis.com
    
  4. Crea l'account di servizio di monitoraggio dei log con i ruoli necessari e scarica il file della chiave. Questi passaggi creano il file della chiave cloud-ops.json nella directory baremetal:
    1. Crea un account di servizio
    2. gcloud iam service-accounts create logging-monitoring-svc-account \
          --project=PROJECT_ID
      
    3. Concedi il ruolo logging.logWriter
    4. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/logging.logWriter"
      
    5. Concedi il ruolo monitoring.metricWriter
    6. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/monitoring.metricWriter"
      
    7. Concedi il ruolo roles/stackdriver.resourceMetadata.writer
    8. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/stackdriver.resourceMetadata.writer"
      
    9. Concedi il ruolo roles/opsconfigmonitoring.resourceMetadata.writer
    10. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/opsconfigmonitoring.resourceMetadata.writer"
      
    11. Concedi i ruoli roles/monitoring.dashboardEditor
    12. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/monitoring.dashboardEditor"
      
    13. Scarica il file della chiave JSON dell'account di servizio:
    14. gcloud iam service-accounts keys create cloud-ops.json \
          --project=PROJECT_ID \
          --iam-account=logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com
      

Configura un account di servizio che può accedere a un bucket Cloud Storage

Utilizzi un account di servizio e un file della chiave per accedere a Cloud Storage. Puoi utilizzare questo account di servizio per abilitare il caricamento automatico degli snapshot dei cluster nei bucket Cloud Storage o per importare le immagini delle macchine virtuali (VM) dai bucket Cloud Storage da utilizzare con Anthos VM Runtime.

Per creare l'account di servizio e il file della chiave:

  1. Assicurati di essere nella directory baremetal.
  2. Abilita i servizi Google necessari nel tuo progetto Cloud:
  3. gcloud services enable --project=PROJECT_ID \
        storage.googleapis.com
  4. Crea un account di servizio che il cluster può utilizzare per accedere ai bucket Cloud Storage:
  5. gcloud iam service-accounts create storage-agent-svc-account \
        --project=PROJECT_ID
  6. Concedi un ruolo storage.admin all'account di servizio in modo che l'account di servizio possa caricare i dati in un bucket Cloud Storage o importare immagini VM:
  7. gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:storage-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/storage.admin"
    
  8. Scarica il file della chiave JSON dell'account di servizio:
  9. gcloud iam service-accounts keys create storage-agent.json \
        --iam-account=storage-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com

Per ulteriori informazioni su come creare snapshot dei cluster e caricarli automaticamente in un bucket Cloud Storage, consulta Creare snapshot per aiutare a diagnosticare i problemi del cluster.

Per ulteriori informazioni su come importare le immagini VM da Cloud Storage, consulta Creare e utilizzare le credenziali per importare immagini da Cloud Storage per Anthos VM Runtime.