Google-Dienste und -Dienstkonten aktivieren

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 aktivieren

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.

Sobald Ihrem Konto eine entsprechende Rolle zugewiesen wurde, können Sie die APIs entweder in der Google Cloud Console oder durch Ausführen des folgenden Befehls entweder in der Cloud Shell oder der Google Cloud CLI aktivieren.

gcloud services enable --project=PROJECT_ID \
    servicemanagement.googleapis.com \
    servicecontrol.googleapis.com

Standardmäßige Google Cloud-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. Diese Verbindung aktiviert die folgenden Funktionen:

  • Connect, um den Bare-Metal-Cluster mit Google Cloud zu verbinden. Dies ermöglicht den Zugriff auf Cluster- und Arbeitslastverwaltungsfeatures, einschließlich einer einheitlichen Benutzeroberfläche, der Cloud Console, um mit Ihrem Cluster zu interagieren.
  • Logging und Monitoring, um Logs und Messwerte aus dem Cluster in der Cloud Console anzusehen.
  • Automatische Uploads von Cluster-Snapshots in Cloud Storage-Buckets

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.
    • storage-agent-Dienstkonto: bmctl verwendet dieses Dienstkonto, um Snapshots von Clustern automatisch in Cloud Storage zu speichern.

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

  1. Sie müssen sich im Verzeichnis baremetal befinden.
  2. Aktivieren Sie die erforderlichen Google-Dienste in Ihrem Cloud-Projekt:
  3. gcloud services enable --project=PROJECT_ID \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        cloudresourcemanager.googleapis.com \
        anthos.googleapis.com
  4. 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 Verzeichnis baremetal erstellt:
    1. Dienstkonto erstellen
    2. gcloud iam service-accounts create connect-agent-svc-account --project=PROJECT_ID
    3. Gewähren Sie die Rolle 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. Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
    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. 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 Verzeichnis baremetal erstellt:
    1. Dienstkonto erstellen
    2. gcloud iam service-accounts create connect-register-svc-account \
          --project=PROJECT_ID
    3. Gewähren Sie die Rolle "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. Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
    6. gcloud iam service-accounts keys create connect-register.json \
          --project=PROJECT_ID \
          --iam-account=connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com
      

Dienstkonto konfigurieren, um Logs zu prüfen und Projekte zu überwachen

So erstellen Sie das Dienstkonto und die Schlüsseldatei für Logging und Monitoring:

  1. Sie müssen sich im Verzeichnis baremetal befinden.
  2. Aktivieren Sie die erforderlichen Google-Dienste in Ihrem Cloud-Projekt:
  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. 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 Verzeichnis baremetal erstellt:
    1. Dienstkonto erstellen
    2. gcloud iam service-accounts create logging-monitoring-svc-account \
          --project=PROJECT_ID
      
    3. Rolle "logging.logWriter" erteilen
    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. Rolle "monitoring.metricWriter" zuweisen
    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. Rolle "roles/stackdriver.resourceMetadata.writer" gewähren
    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. Rolle "roles/opsconfigmonitoring.resourceMetadata.writer" gewähren
    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. Rolle "roles/monitoring.dashboardEditor" gewähren
    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. Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
    14. gcloud iam service-accounts keys create cloud-ops.json \
          --project=PROJECT_ID \
          --iam-account=logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com
      

Dienstkonto konfigurieren, das in den Cloud Storage-Bucket hochladen kann

So erstellen Sie das Dienstkonto und die Schlüsseldatei, mit denen Snapshots von Clustern automatisch in Cloud Storage-Buckets hochgeladen werden:

  1. Sie müssen sich im Verzeichnis baremetal befinden.
  2. Aktivieren Sie die erforderlichen Google-Dienste in Ihrem Cloud-Projekt:
  3. gcloud services enable --project=PROJECT_ID \
        storage.googleapis.com
  4. Erstellen Sie ein Dienstkonto, mit dem der Befehl bmctl check cluster --snapshot automatisch einen Cluster-Snapshot in einen Cloud Storage-Bucket hochlädt:
  5. gcloud iam service-accounts create storage-agent-svc-account \
      --project=PROJECT_ID
  6. Weisen Sie dem Dienstkonto die Rolle storage.admin zu, damit es Daten in Cloud Storage hochladen kann.
  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. Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
  9. gcloud iam service-accounts keys create storage-agent.json \
        --iam-account=storage-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com

Weitere Informationen zum Erstellen von Cluster-Snapshots und zum automatischen Hochladen dieser in einen Cloud Storage-Bucket finden Sie unter Snapshots zur Diagnose von Clusterproblemen erstellen.