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.
Abilita API
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.
Dopo aver assegnato un ruolo corretto all'account, puoi abilitare le API nella console Google Cloud o eseguendo il comando seguente in Cloud Shell o Google Cloud CLI.
gcloud services enable --project=PROJECT_ID \ servicemanagement.googleapis.com \ servicecontrol.googleapis.com
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
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.
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:
- Assicurati di essere nella directory
baremetal
. - Abilita i servizi Google necessari nel tuo progetto Cloud:
- 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 directorybaremetal
:- Crea account di servizio:
- Concedi il ruolo gkehub.connect:
- Scarica il file della chiave JSON dell'account di servizio:
gcloud iam service-accounts create connect-agent-svc-account --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/gkehub.connect"
gcloud iam service-accounts keys create connect-agent.json \ --project=PROJECT_ID \ --iam-account=connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com
- 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 directorybaremetal
:- Crea account di servizio:
- Concedi il ruolo gkehub.admin:
- Scarica il file della chiave JSON dell'account di servizio:
gcloud iam service-accounts create connect-register-svc-account \ --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role=roles/gkehub.admin
gcloud iam service-accounts keys create connect-register.json \ --project=PROJECT_ID \ --iam-account=connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com
gcloud services enable --project=PROJECT_ID \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.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:
- Assicurati di essere nella directory
baremetal
. - Abilita i servizi Google necessari nel tuo progetto Cloud:
- 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 directorybaremetal
: - Crea un account di servizio
- Concedi il ruolo logging.logWriter
- Concedi il ruolo monitoring.metricWriter
- Concedi il ruolo roles/stackdriver.resourceMetadata.writer
- Concedi il ruolo roles/opsconfigmonitoring.resourceMetadata.writer
- Concedi i ruoli roles/monitoring.dashboardEditor
- Scarica il file della chiave JSON dell'account di servizio:
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
gcloud iam service-accounts create logging-monitoring-svc-account \ --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/logging.logWriter"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/monitoring.metricWriter"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/opsconfigmonitoring.resourceMetadata.writer"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/monitoring.dashboardEditor"
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 in un bucket Cloud Storage
Per creare l'account di servizio e il file della chiave che consentono di caricare automaticamente snapshot di cluster nei bucket Cloud Storage:
- Assicurati di essere nella directory
baremetal
. - Abilita i servizi Google necessari nel tuo progetto Cloud:
- Crea un account di servizio che il comando
bmctl check cluster --snapshot
utilizzerà per caricare automaticamente uno snapshot del cluster in un bucket Cloud Storage: - 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: - Scarica il file della chiave JSON dell'account di servizio:
gcloud services enable --project=PROJECT_ID \ storage.googleapis.com
gcloud iam service-accounts create storage-agent-svc-account \ --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:storage-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/storage.admin"
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.