Sie können einen Google Cloud Managed Service for Apache Kafka-Cluster bearbeiten, um Attribute wie die Clustergröße (einschließlich Anzahl der vCPUs und Arbeitsspeicher), die Liste der verbundenen Subnetze, die zulässigen Quell-IP-Bereiche für öffentliche Cluster, die Konfiguration für den automatischen Neuausgleich und die mTLS-Konfiguration zu aktualisieren.
Zum Bearbeiten eines Clusters können Sie die Google Cloud Console, die Google Cloud CLI, die Clientbibliothek oder die Managed Kafka API verwenden. Sie können die Open-Source-Apache Kafka API nicht verwenden, um einen Cluster zu aktualisieren.
Für die Aktualisierung bestimmter Attribute wie die Anzahl der vCPUs und der Arbeitsspeicher muss der Dienst den Cluster möglicherweise neu starten. Der Dienst startet den Cluster jeweils einen Broker nach dem anderen neu. Während dieses Vorgangs können Anfragen an einzelne Broker fehlschlagen, aber diese Fehler sind vorübergehend. Häufig verwendete Clientbibliotheken verarbeiten diese Fehler automatisch.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die
IAM-Rolle „Managed Kafka Cluster Editor (roles/managedkafka.clusterEditor)“ für Ihr Projekt zuzuweisen,
um die Berechtigungen zu erhalten, die
Sie zum Aktualisieren eines Clusters benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Aktualisieren eines Clusters erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um einen Cluster zu aktualisieren:
-
Cluster bearbeiten:
managedkafka.clusters.update
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Größe eines Clusters anpassen
Wenn Sie die Anzahl der vCPUs oder den Arbeitsspeicher eines Clusters aktualisieren, gelten die folgenden Regeln:
Das Verhältnis von vCPUs zu Arbeitsspeicher des Clusters muss immer zwischen 1:1 und 1:8 liegen.
Für jeden vorhandenen Broker müssen mindestens 1 vCPU und 1 GiB Arbeitsspeicher vorhanden sein. Die Anzahl der Broker wird nie verringert.
Wenn der Cluster eine benutzerdefinierte Festplattenkonfiguration, muss die Aktualisierung die Anforderungen an die Festplattenkonfiguration für den lokalen Speicher erfüllen.
Wenn Sie die Größe erhöhen, darf die durchschnittliche Anzahl der vCPUs und der Arbeitsspeicher pro Broker im Vergleich zu den Durchschnittswerten vor der Aktualisierung um nicht mehr als 10% sinken. Wenn Sie beispielsweise versuchen, einen Cluster von 45 vCPUs (3 Broker) auf 48 vCPUs (4 Broker) zu erhöhen, sinkt die durchschnittliche Anzahl der vCPUs pro Broker von 15 auf 12, was einer Reduzierung um 20% entspricht und damit die Grenze von 10% überschreitet.
Wenn Sie die Anzahl der vCPUs um mehr als 10 % verringern müssen, empfehlen wir, sie in mehreren Schritten zu reduzieren. Überwachen Sie nach jeder Aktualisierung die Ressourcennutzung und gleichen Sie die Partitionen bei Bedarf neu aus.
Wenn Sie jedoch sicher sind, dass Ihre Broker nach der Aktualisierung genügend Kapazität haben , können Sie diese Prüfung deaktivieren, indem Sie den
gcloud managed-kafka clusters updateBefehl mit demallow_broker_downscale_on_cluster_upscale=trueFlag ausführen. Dieses Flag signalisiert, dass Sie das potenzielle Leistungsrisiko akzeptieren.
Weitere Informationen finden Sie unter Clustergröße aktualisieren.
Konfiguration des öffentlichen Clusters
Sie können den öffentlichen Zugriff für einen vorhandenen Cluster aktivieren oder deaktivieren sowie zulässige Quell-IP-Bereiche hinzufügen oder entfernen. Weitere Informationen zu den Anforderungen und Regeln für zulässige Quell-IP-Bereiche finden Sie unter Öffentliche Cluster.
Managed Service for Apache Kafka verwendet die Cloud Next Generation Firewall, um den Zugriff auf öffentliche Cluster einzuschränken. Das Entfernen zulässiger Quell-IP-Bereiche oder das Deaktivieren des öffentlichen Zugriffs gilt nur für neue Verbindungen. Weitere Informationen finden Sie unter Auswirkungen auf vorhandenen Traffic.
Cluster bearbeiten
So bearbeiten Sie einen Cluster:
Console
- Rufen Sie in der Google Cloud Console die Seite Cluster auf.
- Klicken Sie in der Liste der Cluster auf den Cluster, dessen Attribute Sie bearbeiten möchten.
In der Console wird die Detailseite des Clusters angezeigt.
Klicken Sie auf der Cluster-Detailseite auf Bearbeiten.
Bearbeiten Sie die Attribute nach Bedarf. Sie können die folgenden Attribute eines Clusters in der Console bearbeiten:
- Arbeitsspeicher
- vCPUs
- Subnetz
- Konfiguration für Neuausgleich
- mTLS-Konfiguration
- Labels
Klicken Sie auf Speichern.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Befehlszeilenaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
-
Ersetzen Sie folgende Werte in den Befehlsdaten:
-
PROJECT_ID: Projekt-ID. -
LOCATION: Der Standort des Clusters. -
CLUSTER_ID: Die ID des Clusters. -
CPU_COUNT: Die Anzahl der vCPUs für den Cluster. -
MEMORY: Die Größe des Arbeitsspeichers für den Cluster. Beispiel:10GiB. -
SUBNET_ID: Die Subnetz-ID des Subnetzes, mit dem eine Verbindung hergestellt werden soll. Beispiel:default. -
LABELS: Die Labels, die dem Cluster zugeordnet werden sollen. -
ALLOWED_SOURCE_IP_RANGES: Die zulässigen IPv4-CIDR-Bereiche der Quelle für den Internetzugriff auf öffentliche Cluster.
Führen Sie den folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud managed-kafka clusters update CLUSTER_ID \ --location=LOCATION \ --cpu=CPU_COUNT \ --memory=MEMORY \ --subnets=projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_ID \ --auto-rebalance \ --labels=LABELS \ --public-cluster \ --allowed-source-ip-ranges=ALLOWED_SOURCE_IP_RANGES
Windows (PowerShell)
gcloud managed-kafka clusters update CLUSTER_ID ` --location=LOCATION ` --cpu=CPU_COUNT ` --memory=MEMORY ` --subnets=projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_ID ` --auto-rebalance ` --labels=LABELS ` --public-cluster ` --allowed-source-ip-ranges=ALLOWED_SOURCE_IP_RANGES
Windows (cmd.exe)
gcloud managed-kafka clusters update CLUSTER_ID ^ --location=LOCATION ^ --cpu=CPU_COUNT ^ --memory=MEMORY ^ --subnets=projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_ID ^ --auto-rebalance ^ --labels=LABELS ^ --public-cluster ^ --allowed-source-ip-ranges=ALLOWED_SOURCE_IP_RANGES
Sie sollten eine Antwort ähnlich der folgenden erhalten:
done: false metadata: '@type': type.googleapis.com/google.cloud.managedkafka.v1.OperationMetadata apiVersion: v1 createTime: 'CREATE_TIME' requestedCancellation: false target: projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID verb: update name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
- Verwenden Sie das Flag
--no-public-cluster, um den öffentlichen Zugriff zu deaktivieren. - Wenn Sie das Flag
--asyncmit Ihrem Befehl verwenden, sendet das System die Aktualisierungsanfrage und gibt sofort eine Antwort zurück, ohne auf den Abschluss des Vorgangs zu warten. Mit dem Flag--asynckönnen Sie mit anderen Aufgaben fortfahren, während die Clusteraktualisierung im Hintergrund erfolgt. Wenn Sie das Flag--asyncnicht verwenden, wartet das System, bis der Vorgang abgeschlossen ist, bevor es eine Antwort zurückgibt. Sie müssen warten, bis der Cluster vollständig aktualisiert wurde, bevor Sie mit anderen Aufgaben fortfahren können.
-
REST
Ersetzen Sie folgende Werte in den Anfragedaten:
-
PROJECT_ID: Ihre Google Cloud Projekt-ID. -
LOCATION: Der Standort des Clusters. -
CLUSTER_ID: Die ID des Clusters. -
UPDATE_MASK: Die Felder, die aktualisiert werden sollen, als durch Kommas getrennte Liste vollständig qualifizierter Namen. Beispiel:capacityConfig.vcpuCount,capacityConfig.memoryBytes -
CPU_COUNT: Die Anzahl der vCPUs für den Cluster. -
MEMORY: Die Größe des Arbeitsspeichers für den Cluster in Byte. Beispiel:3221225472. -
SUBNET_ID: Die Subnetz-ID des Subnetzes, mit dem eine Verbindung hergestellt werden soll. Beispiel:default.
HTTP-Methode und URL:
PATCH https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID?updateMask=UPDATE_MASK
JSON-Anfragetext:
{
"capacityConfig": {
"vcpuCount": CPU_COUNT,
"memoryBytes": MEMORY
},
"gcpConfig": {
"accessConfig": {
"networkConfigs": [
{
"subnet": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_ID"
}
]
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.managedkafka.v1.OperationMetadata",
"createTime": "CREATE_TIME",
"target": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID",
"verb": "update",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Fügen Sie im Anfragetext nur die Felder ein, die Sie aktualisieren, wie im UPDATE_MASK Abfrageparameter angegeben.
- Wenn Sie ein Subnetz hinzufügen möchten, fügen Sie
networkConfigseinen neuen Eintrag im folgenden Format:projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_IDhinzu. Beispiel:projects/sample-project/regions/us-central1/subnetworks/default. Wenn Sie den öffentlichen Zugriff aktivieren oder die zulässigen Quell-IP-Bereiche aktualisieren möchten, fügen Sie
gcpConfig.accessConfig.publicClusterConfigin den UPDATE_MASK Abfrageparameter ein und geben Sie dasallowedSourceIpRangesArray im Anfragetext an. Beispiel für einen Anfragetext:{ "gcpConfig": { "accessConfig": { "publicClusterConfig": { "allowedSourceIpRanges": [ "203.0.113.0/24" ] } } } }Wenn Sie den öffentlichen Zugriff deaktivieren möchten, fügen Sie
gcpConfig.accessConfig.publicClusterConfigin den UPDATE_MASK Abfrageparameter ein und übergeben Sie ein leeres JSON Objekt{}im Anfragetext (oder lassen SiepublicClusterConfigweg). Beispiel für einen Anfragetext:{}
Go
Folgen Sie der Einrichtungsanleitung für Go unter Clientbibliotheken installieren, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Managed Service for Apache Kafka Go API.
Richten Sie zur Authentifizierung bei Managed Service for Apache Kafka die Standardanmeldedaten für Anwendungen(Application Default Credentials, ADC) ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Java
Folgen Sie der Einrichtungsanleitung für Java unter Clientbibliotheken installieren, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Managed Service for Apache Kafka Java API.
Richten Sie zur Authentifizierung bei Managed Service for Apache Kafka die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Folgen Sie der Einrichtungsanleitung für Python unter Clientbibliotheken installieren, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Managed Service for Apache Kafka Python API.
Richten Sie zur Authentifizierung bei Managed Service for Apache Kafka die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Beschränkungen
Nachdem Sie einen Managed Service for Apache Kafka-Cluster erstellt haben, können Sie die folgenden Attribute nicht mehr aktualisieren:
- Der Clustername
- Der Clusterstandort
- Der Verschlüsselungstyp
Sie können den Verschlüsselungstyp zwar nicht ändern, aber Sie können Verschlüsselungsschlüssel rotieren.
Nächste Schritte
Größe des Clusters planen.
Thema in Ihrem Cluster erstellen.