Abilitazione dei servizi Google e degli account di servizio

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.

Abilitazione delle API in corso…

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

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

Impostazione dei ruoli e dell'ID progetto 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

Configurazione manuale degli 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.

Anthos clusters on bare metal connette i tuoi cluster a Google Cloud. Questa connessione ti consente di gestire e osservare i tuoi cluster dalla console Cloud utilizzando:

  • Connetti per connettere il cluster Bare Metal a Google Cloud. Ciò consente l'accesso al cluster e alle funzionalità di gestione del carico di lavoro, tra cui 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.

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 per il monitoraggio dei log: Connect utilizza questo account di servizio per esportare i log e le metriche dai cluster a Logging e Monitoring.

  • 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.

Configurazione degli 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 \
        container.googleapis.com \
        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 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 \
          --iam-account=connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com \
          --project=PROJECT_ID
  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 \
          --iam-account=connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com \
          --project=PROJECT_ID

Configurazione di un account di servizio da utilizzare con Logging e Monitoring

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

  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 \
        anthosgke.googleapis.com \
        cloudresourcemanager.googleapis.com \
        container.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        serviceusage.googleapis.com \
        stackdriver.googleapis.com \
        monitoring.googleapis.com \
        logging.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 i ruoli roles/monitoring.dashboardEditor
    10. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/monitoring.dashboardEditor"
      
    11. Scarica il file della chiave JSON dell'account di servizio:
    12. gcloud iam service-accounts keys create cloud-ops.json \
          --iam-account=logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com \
          --project=PROJECT_ID