Abilita servizi Google e account di servizio

Oltre a soddisfare i prerequisiti per l'installazione, l'hardware e il sistema operativo, devi configurare e configurare progetti, API e account di servizio Google Cloud per eseguire i cluster Anthos su Bare Metal.

Tieni presente che il comando bmctl può abilitare automaticamente gli account di servizio e le API al momento della creazione dei cluster, ma puoi anche configurarli manualmente per controllare meglio le operazioni.

Abilitazione delle API in corso…

Per abilitare le API nel tuo progetto, è necessario assegnare uno dei seguenti ruoli al tuo account: roles/owner, roles/editor o roles/serviceusage.serviceUsageAdmin.

Per ulteriori informazioni, consulta la pagina Concedere a un solo ruolo.

Imposta l'ID progetto e i ruoli Cloud predefiniti

Oltre a configurare gli account di servizio, puoi impostare project id come valore predefinito.

Devi avere owner o editor ruoli nel progetto per i cluster Anthos su Bare Metal.

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

gcloud config set project PROJECT_ID

Configura manualmente gli account di servizio

Il comando bmctl dei cluster Anthos su Bare Metal può configurare automaticamente gli account di servizio Google e le API quando crei i cluster.

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

I cluster Anthos su Bare Metal collegano i tuoi cluster a Google Cloud. Questa connessione attiva le seguenti funzionalità:

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

La procedura di configurazione manuale dell'accesso include:

  • Abilitazione dei servizi Google necessari nel progetto Cloud.
  • Crea i seguenti account di servizio con i ruoli necessari:
    • account di servizio user 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 storage-agent: bmctl utilizza questo account di servizio per archiviare automaticamente gli snapshot dei cluster in Cloud Storage.

  • Download dei file della chiave JSON per ogni account di servizio.

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

Configurare account di servizio da utilizzare con Connect

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

  1. Assicurati di essere nella directory di baremetal.
  2. Abilitare i servizi Google necessari nel tuo progetto Cloud:
  3. gcloud services enable --project=PROJECT_ID \
        gkeconnect.googleapis.com \
        gkehub.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 un 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 un 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 i 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 di baremetal.
  2. Abilitare 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 \
        serviceusage.googleapis.com \
        stackdriver.googleapis.com \
        monitoring.googleapis.com \
        logging.googleapis.com \
        opsconfigmonitoring.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 il ruolo 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ò essere caricato nel bucket Cloud Storage

Per creare l'account di servizio e il file della chiave che consente di caricare automaticamente gli snapshot dei cluster nei bucket Cloud Storage:

  1. Assicurati di essere nella directory di baremetal.
  2. Abilitare 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 comando bmctl check cluster --snapshot utilizzerà per caricare automaticamente uno snapshot di cluster in un 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 possa caricare i dati in un bucket Cloud Storage.
  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 diagnosticare i problemi del cluster.