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.
Hinweise
ein Google Cloud-Projekt und ein Rechnungskonto erstellen
Während der Installation müssen Sie die folgenden Anmeldedaten angeben:
- Die privaten SSH-Schlüssel für den Zugriff auf Clusterknoten-Rechner.
- Wenn Sie
root
nicht verwenden: den Anmeldename des Clusterknoten-Rechners.
Prüfen Sie, ob Sie alle erforderlichen Anmeldedaten haben, bevor Sie Anthos-Cluster on Bare Metal installieren.
Bei gcloud anmelden
- Melden Sie sich mit dem
gcloud auth application-default
-Log-in als Nutzer bei gcloud an: - Dienstkontoadministrator
- Zentraler Dienstkontoadministrator
- Projekt-IAM-Administrator
- Compute-Betrachter
- Service Usage-Administrator
- Rufen Sie Ihre Google Cloud-Projekt-ID ab, um sie bei der Clustererstellung zu verwenden:
gcloud auth application-default login
export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
export CLOUD_PROJECT_ID=$(gcloud config get-value project)
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
APIs aktivieren
Bevor Sie Anthos-Cluster auf Bare Metal installieren, müssen Sie mehrere APIs in Ihrem verknüpften Google Cloud-Projekt aktivieren. Zum Aktivieren von APIs in Ihrem Projekt muss Ihnen eine der folgenden Rollen im Google Cloud-Projekt „roles/owner
“, „roles/editor
“ oder „roles/serviceusage.serviceUsageAdmin
“ gewährt worden sein.
Weitere Informationen finden Sie unter Einzelne Rolle zuweisen.
Wenn Sie die erforderlichen IAM-Berechtigungen haben, aktivieren Sie die folgenden APIs:
anthos.googleapis.com
anthosaudit.googleapis.com
anthosgke.googleapis.com
cloudresourcemanager.googleapis.com
connectgateway.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
iam.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
opsconfigmonitoring.googleapis.com
serviceusage.googleapis.com
stackdriver.googleapis.com
Sie können diese Dienste auch mit dem bmctl
-Tool aktivieren.
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.
In Produktionsumgebungen sollten Sie separate Dienstkonten für unterschiedliche Zwecke erstellen. Anthos-Cluster auf Bare Metal-Konten erfordern je nach Zweck die folgenden Arten von Google Cloud-Dienstkonten:
- Für den Zugriff auf Container Registry (
gcr.io
) ist keine spezielle Rolle erforderlich. - Zum Registrieren eines Clusters in einer Flotte weisen Sie dem Dienstkonto in Ihrem Google Cloud-Projekt die IAM-Rolle
roles/gkehub.admin
zu. - Zum Herstellen einer Verbindung zu Flotten weisen Sie dem Dienstkonto in Ihrem Google Cloud-Projekt die IAM-Rolle
roles/gkehub.connect
zu. Weisen Sie dem Dienstkonto in Ihrem Google Cloud-Projekt folgende IAM-Rollen zu, um Logs und Messwerte an die Operations-Suite von Google Cloud zu senden:
roles/logging.logWriter
roles/monitoring.metricWriter
roles/stackdriver.resourceMetadata.writer
roles/monitoring.dashboardEditor
roles/opsconfigmonitoring.resourceMetadata.writer
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:
- 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 \ --project=PROJECT_ID \ --iam-account=connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com
- 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 \ --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 \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.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:
- 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 \ logging.googleapis.com \ monitoring.googleapis.com \ opsconfigmonitoring.googleapis.com \ serviceusage.googleapis.com \ stackdriver.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
Dienstkonto konfigurieren, das auf einen Cloud Storage-Bucket zugreifen kann
Sie verwenden ein Dienstkonto und eine Schlüsseldatei für den Zugriff auf Cloud Storage. Sie können dieses Dienstkonto verwenden, um Snapshots von Clustern automatisch in Cloud Storage-Buckets hochzuladen oder um VM-Images aus Cloud Storage-Buckets zur Verwendung mit Anthos VM Runtime zu importieren.
Führen Sie die folgenden Schritte aus, um das Dienstkonto und die Schlüsseldatei zu erstellen:
- Sie müssen sich im Verzeichnis
baremetal
befinden. - Aktivieren Sie die erforderlichen Google-Dienste in Ihrem Cloud-Projekt:
- Erstellen Sie ein Dienstkonto, mit dem Ihr Cluster auf Cloud Storage-Buckets zugreifen kann:
- Weisen Sie dem Dienstkonto die Rolle
storage.admin
zu, damit es Daten in einen Cloud Storage-Bucket hochladen oder VM-Images importieren kann: - Laden Sie die JSON-Schlüsseldatei des Dienstkontos herunter:
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
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.
Weitere Informationen zum Importieren von VM-Images aus Cloud Storage finden Sie unter Anmeldedaten zum Importieren von Images aus Cloud Storage für Anthos VM Runtime erstellen und verwenden.