Neben der Erfüllung der Voraussetzungen für Installation, Hardware und Betriebssystem müssen Sie Google Cloud-Projekte, -APIs und -Dienstkonten auch konfigurieren und einrichten, um Anthos-Cluster on Bare Metal auszuführen.
Beachten Sie, dass der Befehl bmctl
bei der Clustererstellung automatisch Dienstkonten und APIs aktivieren kann. Sie können diese Dienste aber auch manuell einrichten, um die Abläufe genauer zu steuern.
APIs werden aktiviert
Damit diese APIs in Ihrem Projekt aktiviert werden können, muss Ihrem Konto eine der folgenden Rollen zugewiesen sein: roles/owner
, roles/editor
oder roles/serviceusage.serviceUsageAdmin
.
Weitere Informationen finden Sie unter Einzelne Rolle zuweisen.
Cloud-Standard-Projekt-ID und -Rollen festlegen
Sie können Ihren Standard-project id
auch zusätzlich zur Konfiguration von Dienstkonten festlegen.
Sie benötigen die Rollen owner
oder editor
in Ihrem Projekt für Anthos-Cluster on Bare Metal.
Führen Sie zum Festlegen des Standardprojekts den folgenden Befehl aus und ersetzen Sie dabei PROJECT_ID durch Ihre Google Cloud-Projekt-ID:
gcloud config set project PROJECT_ID
Dienstkonten manuell konfigurieren
Mit dem Befehl bmctl
von Anthos-Cluster on Bare Metal können Google-Dienstkonten und APIs automatisch eingerichtet werden, wenn Sie Cluster erstellen.
Für eine größere Kontrolle über das System oder für eine optimierte Erstellung von Clustern mit einer Reihe von Diensten, Konten und Projekten können Sie diese Dienste manuell einrichten.
Anthos-Cluster on Bare Metal verbindet Ihre Cluster mit Google Cloud. Über diese Verbindung können Sie Ihre Cluster über die Cloud Console verwalten und beobachten:
- Connect, um den Bare-Metal-Cluster mit Google Cloud zu verbinden. Dies ermöglicht den Zugriff auf Features zur Cluster- und Arbeitslastverwaltung sowie auf die Cloud Console als einheitliche Benutzeroberfläche für die Interaktion mit Ihrem Cluster.
- Logging und Monitoring zum Anzeigen von Logs und Messwerten aus dem Cluster in der Cloud Console
So konfigurieren Sie den Zugriff manuell:
- Aktivieren der erforderlichen Google-Dienste in Ihrem Cloud-Projekt
- Die folgenden Dienstkonten mit den erforderlichen Rollen erstellen:
- Connect-Agent-Dienstkonto: Connect verwendet dieses Dienstkonto, um eine Verbindung zwischen Ihrem Cluster und Google Cloud aufrechtzuerhalten.
- Connect-Register-Dienstkonto: Connect verwendet dieses Dienstkonto, um Ihre Cluster bei Google Cloud zu registrieren.
- Logging-Dienstkonto: Connect verwendet dieses Dienstkonto, um Logs und Messwerte von Clustern nach Logging und Monitoring zu exportieren.
- JSON-Schlüsseldateien für jedes Dienstkonto herunterladen.
Anschließend fügen Sie den entsprechenden Clusterkonfigurationsdateien Verweise auf die JSON-Schlüsseldateien hinzu. Weitere Informationen finden Sie unter Cluster erstellen: Übersicht.
Dienstkonten für die Verwendung mit Connect konfigurieren
So erstellen Sie die Dienstkonten und Schlüsseldateien:
- Sie müssen sich im Verzeichnis
baremetal
befinden. - Aktivieren Sie die erforderlichen Google-Dienste in Ihrem Cloud-Projekt:
- Erstellen Sie das Connect-Agent-Dienstkonto mit der erforderlichen Rolle und laden Sie die Schlüsseldatei herunter.
Mit diesen Schritten wird die Schlüsseldatei
connect-agent.json
im Verzeichnisbaremetal
erstellt:- Dienstkonto erstellen
- Gewähren Sie die Rolle gkehub.connect:
- Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
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 \ --iam-account=connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID
- Erstellen Sie das Connect-Register-Dienstkonto mit der erforderlichen Rolle und laden Sie die Schlüsseldatei herunter. Mit diesen Schritten wird die Schlüsseldatei "connect-
register.json
" im Verzeichnisbaremetal
erstellt:- Dienstkonto erstellen
- Gewähren Sie die Rolle "gkehub.admin":
- Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
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 \ --iam-account=connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID
gcloud services enable --project=PROJECT_ID \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.com
Dienstkonto für die Verwendung mit Logging und Monitoring konfigurieren
So erstellen Sie das Dienstkonto und die Schlüsseldatei für Logging und Monitoring:
- Sie müssen sich im Verzeichnis
baremetal
befinden. - Aktivieren Sie die erforderlichen Google-Dienste in Ihrem Cloud-Projekt:
- Erstellen Sie das Logging-Monitoring-Dienstkonto mit den erforderlichen Rollen und laden Sie die Schlüsseldatei herunter. Mit diesen Schritten wird die Schlüsseldatei
cloud-ops.json
im Verzeichnisbaremetal
erstellt: - Dienstkonto erstellen
- Rolle "logging.logWriter" erteilen
- Rolle "monitoring.metricWriter" zuweisen
- Rolle "roles/stackdriver.resourceMetadata.writer" gewähren
- Rolle "roles/opsconfigmonitoring.resourceMetadata.writer" gewähren
- Rolle "roles/monitoring.dashboardEditor" gewähren
- Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
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 \ --iam-account=logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID