Afficher un cluster Google Cloud Managed Service pour Apache Kafka

Pour afficher un cluster, vous pouvez utiliser la console Google Cloud , Google Cloud CLI, la bibliothèque cliente ou l'API Managed Kafka. Vous ne pouvez pas utiliser l'API Apache Kafka Open Source pour afficher un cluster.

Rôles et autorisations requis pour afficher un cluster

Pour obtenir les autorisations nécessaires pour afficher un cluster, demandez à votre administrateur de vous accorder le rôle IAM Lecteur Kafka géré (roles/managedkafka.viewer) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour afficher un cluster. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour afficher un cluster :

  • Lister les clusters : managedkafka.clusters.list
  • Obtenez les détails du cluster : managedkafka.clusters.get

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher un cluster

Pour afficher un cluster, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

    Les clusters que vous avez créés dans un projet sont listés.

  2. Pour afficher un cluster spécifique, cliquez sur son nom.

  3. La page des détails du cluster s'ouvre. Cette page comporte les onglets suivants :

    • Ressources : affiche la liste des thèmes et des groupes de consommateurs associés au cluster.
    • Contrôle des accès : affiche les entrées LCA du cluster.
    • Configurations : affiche la configuration du cluster, y compris la liste des sous-réseaux associés au cluster.
    • Surveillance : affiche les alertes de surveillance associées au cluster.
    • Journaux : affiche les journaux liés aux clusters dans l'explorateur de journaux.
    • Sources : fournit des raccourcis pour créer des connecteurs sources Kafka Connect ou générer des données de test synthétiques.
    • Sinks : fournit des raccourcis pour créer des connecteurs de récepteur Kafka Connect.

gcloud

  1. Dans la console Google Cloud , activez Cloud Shell.

    Activer Cloud Shell

    En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID du projet.
    • LOCATION : emplacement du cluster.
    • CLUSTER_ID : ID du cluster.

    Exécutez la commande suivante :

    Linux, macOS ou Cloud Shell

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --project=PROJECT_ID

    Windows (PowerShell)

    gcloud managed-kafka clusters describe CLUSTER_ID `
        --location=LOCATION `
        --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud managed-kafka clusters describe CLUSTER_ID ^
        --location=LOCATION ^
        --project=PROJECT_ID

    Vous devriez obtenir un résultat semblable à celui-ci :

    bootstrapAddress: bootstrap.CLUSTER_ID.LOCATION.managedkafka.PROJECT_ID.cloud.goog:9092
    bootstrapAddressMTLS: bootstrap.CLUSTER_ID.LOCATION.managedkafka.PROJECT_ID.cloud.goog:9192
    brokerCapacityConfig: {}
    capacityConfig:
      memoryBytes: 'MEMORY'
      vcpuCount: 'CPU_COUNT'
    createTime: 'CREATE_TIME'
    gcpConfig:
      accessConfig:
        networkConfigs:
        - subnet: projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_ID
        publicClusterConfig:
          allowedSourceIpRanges:
          - 203.0.113.5/32
    labels:
      goog-terraform-provisioned: 'true'
    name: projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID
    publicClusterDetails:
      discoveryDnsRecords:
      - discovery-1.CLUSTER_ID.LOCATION.managedkafka.PROJECT_ID.cloud.goog
      externalIpAddresses:
      - 203.0.113.1
      - 203.0.113.2
      - 203.0.113.3
      - 203.0.113.4
    rebalanceConfig:
      mode: AUTO_REBALANCE_ON_SCALE_UP
    satisfiesPzi: false
    satisfiesPzs: false
    state: ACTIVE
    tlsConfig:
      trustConfig: {}
    updateOptions: {}
    updateTime: 'UPDATE_TIME'
    

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud
  • LOCATION : emplacement du cluster.
  • CLUSTER_ID : ID du cluster.
  • CLUSTER_VIEW : quantité de métadonnées à renvoyer. Spécifiez une des valeurs suivantes :

    • CLUSTER_VIEW_BASIC : renvoie les métadonnées de base du cluster.
    • CLUSTER_VIEW_FULL : renvoie toutes les métadonnées du cluster, y compris des informations sur les courtiers du cluster et le numéro de version Kafka exécuté par le cluster.

    Si aucune valeur n'est spécifiée, la méthode prend la valeur par défaut CLUSTER_VIEW_BASIC.

Méthode HTTP et URL :

GET https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID?view=CLUSTER_VIEW

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID",
  "createTime": "CREATE_TIME",
  "updateTime": "UPDATE_TIME",
  "capacityConfig": {
    "vcpuCount": "CPU_COUNT",
    "memoryBytes": "MEMORY"
  },
  "rebalanceConfig": {},
  "gcpConfig": {
    "accessConfig": {
      "networkConfigs": [
        {
          "subnet": "projects/PROJECT_ID/locations/LOCATION/subnetworks/SUBNET_ID"
        }
      ],
      "publicClusterConfig": {
        "allowedSourceIpRanges": [
          "203.0.113.5/32"
        ]
      }
    }
  },
  "state": "ACTIVE",
  "satisfiesPzi": false,
  "satisfiesPzs": false,
  "tlsConfig": {
    "trustConfig": {}
  },
  "updateOptions": {},
  "publicClusterDetails": {
    "discoveryDnsRecords": [
      "discovery-1.CLUSTER_ID.LOCATION.managedkafka.PROJECT_ID.cloud.goog"
    ],
    "externalIpAddresses": [
      "203.0.113.1",
      "203.0.113.2",
      "203.0.113.3",
      "203.0.113.4"
    ]
  }
}

Go

Avant d'essayer cet exemple, suivez les instructions de configuration pour Go dans Installer les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Managed Service pour Apache Kafka en langage Go.

Pour vous authentifier auprès de Managed Service pour Apache Kafka, configurez les identifiants par défaut de l'application(ADC, Application Default Credentials). Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local.

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
	"google.golang.org/api/option"

	managedkafka "cloud.google.com/go/managedkafka/apiv1"
)

func getCluster(w io.Writer, projectID, region, clusterID string, opts ...option.ClientOption) error {
	// projectID := "my-project-id"
	// region := "us-central1"
	// clusterID := "my-cluster"
	ctx := context.Background()
	client, err := managedkafka.NewClient(ctx, opts...)
	if err != nil {
		return fmt.Errorf("managedkafka.NewClient got err: %w", err)
	}
	defer client.Close()

	clusterPath := fmt.Sprintf("projects/%s/locations/%s/clusters/%s", projectID, region, clusterID)
	req := &managedkafkapb.GetClusterRequest{
		Name: clusterPath,
	}
	cluster, err := client.GetCluster(ctx, req)
	if err != nil {
		return fmt.Errorf("client.GetCluster got err: %w", err)
	}
	fmt.Fprintf(w, "Got cluster: %#v\n", cluster)
	return nil
}

Java

Avant d'essayer cet exemple, suivez les instructions de configuration pour Java dans Installer les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java pour Managed Service for Apache Kafka.

Pour vous authentifier auprès de Managed Service pour Apache Kafka, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.managedkafka.v1.Cluster;
import com.google.cloud.managedkafka.v1.ClusterName;
import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
import java.io.IOException;

public class GetCluster {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the example.
    String projectId = "my-project-id";
    String region = "my-region"; // e.g. us-east1
    String clusterId = "my-cluster";
    getCluster(projectId, region, clusterId);
  }

  public static void getCluster(String projectId, String region, String clusterId)
      throws Exception {
    try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
      // This operation is being handled synchronously.
      Cluster cluster = managedKafkaClient.getCluster(ClusterName.of(projectId, region, clusterId));
      System.out.println(cluster.getAllFields());
    } catch (IOException | ApiException e) {
      System.err.printf("managedKafkaClient.getCluster got err: %s", e.getMessage());
    }
  }
}

Python

Avant d'essayer cet exemple, suivez les instructions de configuration pour Python dans Installer les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Managed Service pour Apache Kafka.

Pour vous authentifier auprès de Managed Service pour Apache Kafka, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local.

from google.api_core.exceptions import NotFound
from google.cloud import managedkafka_v1

# TODO(developer)
# project_id = "my-project-id"
# region = "us-central1"
# cluster_id = "my-cluster"

client = managedkafka_v1.ManagedKafkaClient()

cluster_path = client.cluster_path(project_id, region, cluster_id)
request = managedkafka_v1.GetClusterRequest(
    name=cluster_path,
)

try:
    cluster = client.get_cluster(request=request)
    print("Got cluster:", cluster)
except NotFound as e:
    print(f"Failed to get cluster {cluster_id} with error: {e.message}")

Afficher les propriétés et les ressources du cluster

Les sections suivantes décrivent comment obtenir des informations sur différentes propriétés et ressources associées à un cluster Google Cloud Managed Service pour Apache Kafka.

Adresse d'amorçage

Les clients Kafka utilisent l'adresse d'amorçage du cluster pour établir une connexion avec celui-ci. L'adresse d'amorçage est fixe pendant toute la durée de vie d'un cluster, mais le format de l'URL d'amorçage peut varier d'un cluster à l'autre.

Si l'accès public est activé sur votre cluster, l'adresse d'amorçage est automatiquement résolue en adresses IP publiques ou privées, selon l'emplacement à partir duquel le client se connecte (à l'aide du DNS à horizon partagé). Les clients internes et externes doivent utiliser la même adresse d'amorçage pour se connecter au cluster. Ne configurez pas les clients Kafka pour qu'ils se connectent aux enregistrements DNS de découverte, qui sont réservés à la configuration des pare-feu de sortie externes.

Pour obtenir l'adresse d'amorçage, procédez comme suit :

Console

  1. Accédez à la page Managed Service pour Apache Kafka > Clusters.

    accéder aux clusters

  2. Cliquez sur le nom du cluster.

  3. Sélectionnez l'onglet Configurations.

  4. Si vous utilisez SASL pour l'authentification, l'URL d'amorçage est indiquée sous URL d'amorçage.

    Si vous utilisez le protocole TLS mutuel (mTLS) pour l'authentification, l'URL de bootstrap est listée sous URL de bootstrap mTLS.

    Cliquez sur  Copier pour copier la valeur.

gcloud

Pour obtenir l'URL d'amorçage, utilisez la commande managed-kafka clusters describe.

Si vous utilisez SASL pour l'authentification, exécutez la commande suivante :

gcloud managed-kafka clusters describe CLUSTER_ID \
    --location=LOCATION \
    --format="value(bootstrapAddress)"

Si vous utilisez le protocole TLS mutuel (mTLS) pour l'authentification, exécutez la commande suivante :

gcloud managed-kafka clusters describe CLUSTER_ID \
    --location=LOCATION \
    --format="value(bootstrapAddressMTLS)"

Remplacez les éléments suivants :

  • CLUSTER_ID : ID ou nom du cluster.
  • LOCATION : emplacement du cluster.

Pour en savoir plus sur l'authentification SASL et mTLS, consultez Types d'authentification pour les courtiers Kafka.

Courtiers

Pour afficher les courtiers de votre cluster, consultez Afficher les courtiers dans un cluster Managed Service pour Apache Kafka.

Groupes de consommateurs

Un groupe de consommateurs est un ensemble de consommateurs qui coopèrent pour consommer des données provenant de différents sujets. Pour afficher les groupes de consommateurs d'un cluster, consultez les pages suivantes :

Sous-réseaux

Pour afficher les sous-réseaux connectés à votre cluster, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur le nom du cluster.

  3. Sur la page d'informations sur le cluster, cliquez sur l'onglet Configurations. Les sous-réseaux connectés sont listés sous Sous-réseaux.

gcloud

  1. Exécutez la commande gcloud managed-kafka clusters describe :

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --format="yaml(gcpConfig.accessConfig.networkConfigs)"
    

    Remplacez les éléments suivants :

    • CLUSTER_ID : ID ou nom du cluster.
    • LOCATION : emplacement du cluster.

Pour en savoir plus, consultez Configurer la mise en réseau pour Managed Service pour Apache Kafka.

Plages d'adresses IP sources autorisées

Pour afficher les plages d'adresses IP sources autorisées pour un cluster public, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur le nom du cluster.

  3. Cliquez sur l'onglet Configurations. Les plages d'adresses IP sources autorisées sont listées dans le tableau Plages d'adresses IP sources autorisées, dans la colonne Plage d'adresses IP.

gcloud

  1. Pour afficher les plages d'adresses IP sources autorisées à l'aide de gcloud, vérifiez le champ gcpConfig.accessConfig.publicClusterConfig.allowedSourceIpRanges dans la réponse de la commande gcloud managed-kafka clusters describe :

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --format="yaml(gcpConfig.accessConfig.publicClusterConfig.allowedSourceIpRanges)"
    

    Remplacez les éléments suivants :

    • CLUSTER_ID : ID ou nom du cluster.
    • LOCATION : emplacement du cluster.

REST

Pour afficher les plages d'adresses IP sources autorisées à l'aide de l'API REST, vérifiez le champ gcpConfig.accessConfig.publicClusterConfig.allowedSourceIpRanges dans la réponse d'une requête GET :

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud
  • LOCATION : emplacement du cluster.
  • CLUSTER_ID : ID du cluster.
  • CLUSTER_VIEW : quantité de métadonnées à renvoyer. Spécifiez une des valeurs suivantes :

    • CLUSTER_VIEW_BASIC : renvoie les métadonnées de base du cluster.
    • CLUSTER_VIEW_FULL : renvoie toutes les métadonnées du cluster, y compris des informations sur les courtiers du cluster et le numéro de version Kafka exécuté par le cluster.

    Si aucune valeur n'est spécifiée, la méthode prend la valeur par défaut CLUSTER_VIEW_BASIC.

Méthode HTTP et URL :

GET https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID?view=CLUSTER_VIEW

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID",
  "createTime": "CREATE_TIME",
  "updateTime": "UPDATE_TIME",
  "capacityConfig": {
    "vcpuCount": "CPU_COUNT",
    "memoryBytes": "MEMORY"
  },
  "rebalanceConfig": {},
  "gcpConfig": {
    "accessConfig": {
      "networkConfigs": [
        {
          "subnet": "projects/PROJECT_ID/locations/LOCATION/subnetworks/SUBNET_ID"
        }
      ],
      "publicClusterConfig": {
        "allowedSourceIpRanges": [
          "203.0.113.5/32"
        ]
      }
    }
  },
  "state": "ACTIVE",
  "satisfiesPzi": false,
  "satisfiesPzs": false,
  "tlsConfig": {
    "trustConfig": {}
  },
  "updateOptions": {},
  "publicClusterDetails": {
    "discoveryDnsRecords": [
      "discovery-1.CLUSTER_ID.LOCATION.managedkafka.PROJECT_ID.cloud.goog"
    ],
    "externalIpAddresses": [
      "203.0.113.1",
      "203.0.113.2",
      "203.0.113.3",
      "203.0.113.4"
    ]
  }
}

Pour en savoir plus sur les plages d'adresses IP sources autorisées, consultez Clusters publics.

Détails du cluster public

Pour afficher les détails du cluster public, y compris les adresses IP externes et les enregistrements DNS de découverte, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur le nom du cluster.

  3. Cliquez sur l'onglet Configurations. Les adresses IP externes et les enregistrements DNS de découverte sont listés dans les champs Adresses IP externes et Enregistrements DNS de découverte.

gcloud

  1. Exécutez la commande gcloud managed-kafka clusters describe :

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --format="yaml(publicClusterDetails)"
    

    Remplacez les éléments suivants :

    • CLUSTER_ID : ID ou nom du cluster.
    • LOCATION : emplacement du cluster.

REST

Pour afficher les détails du cluster public à l'aide de l'API REST, vérifiez le champ publicClusterDetails dans la réponse d'une requête GET :

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud
  • LOCATION : emplacement du cluster.
  • CLUSTER_ID : ID du cluster.
  • CLUSTER_VIEW : quantité de métadonnées à renvoyer. Spécifiez une des valeurs suivantes :

    • CLUSTER_VIEW_BASIC : renvoie les métadonnées de base du cluster.
    • CLUSTER_VIEW_FULL : renvoie toutes les métadonnées du cluster, y compris des informations sur les courtiers du cluster et le numéro de version Kafka exécuté par le cluster.

    Si aucune valeur n'est spécifiée, la méthode prend la valeur par défaut CLUSTER_VIEW_BASIC.

Méthode HTTP et URL :

GET https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID?view=CLUSTER_VIEW

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID",
  "createTime": "CREATE_TIME",
  "updateTime": "UPDATE_TIME",
  "capacityConfig": {
    "vcpuCount": "CPU_COUNT",
    "memoryBytes": "MEMORY"
  },
  "rebalanceConfig": {},
  "gcpConfig": {
    "accessConfig": {
      "networkConfigs": [
        {
          "subnet": "projects/PROJECT_ID/locations/LOCATION/subnetworks/SUBNET_ID"
        }
      ],
      "publicClusterConfig": {
        "allowedSourceIpRanges": [
          "203.0.113.5/32"
        ]
      }
    }
  },
  "state": "ACTIVE",
  "satisfiesPzi": false,
  "satisfiesPzs": false,
  "tlsConfig": {
    "trustConfig": {}
  },
  "updateOptions": {},
  "publicClusterDetails": {
    "discoveryDnsRecords": [
      "discovery-1.CLUSTER_ID.LOCATION.managedkafka.PROJECT_ID.cloud.goog"
    ],
    "externalIpAddresses": [
      "203.0.113.1",
      "203.0.113.2",
      "203.0.113.3",
      "203.0.113.4"
    ]
  }
}

Thèmes

Pour afficher les thèmes d'un cluster, consultez les pages suivantes :

Étape suivante

Apache Kafka® est une marque déposée d'Apache Software Foundation ou de ses filiales aux États-Unis et/ou dans d'autres pays.