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.

Pour en savoir plus sur le rôle "Lecteur Managed Kafka", consultez Rôles prédéfinis de Managed Service pour Apache Kafka.

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

    La liste des clusters que vous avez créés dans un projet s'affiche.

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

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --full
    

    Remplacez les éléments suivants :

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

    L'option --full est facultative. Si vous incluez cet indicateur, la commande renvoie des informations supplémentaires, y compris sur les brokers du cluster et le numéro de version de Kafka exécuté par le cluster.

  3. 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"
            }
          ]
        }
      },
      "state": "ACTIVE",
      "satisfiesPzi": false,
      "satisfiesPzs": false,
      "tlsConfig": {
        "trustConfig": {}
      },
      "updateOptions": {}
    }
    

    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. 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 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.

    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 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. 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 listée sous URL d'amorçage mTLS.

    Si vous utilisez le protocole TLS mutuel (mTLS) pour l'authentification, l'URL d'amorçage est listée sous URL d'amorçage 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 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

Managed Service pour Apache Kafka provisionne automatiquement les courtiers pour un cluster. Un courtier possède les propriétés suivantes :

  • brokerIndex : index du courtier basé sur zéro.
  • nodeId : ID du nœud du courtier.
  • rack : zone dans laquelle le courtier est provisionné, par exemple us-central1-a.

Pour afficher les courtiers d'un cluster, 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. Les courtiers du cluster sont listés sous Active Brokers (Courtiers actifs).

gcloud

Pour obtenir la liste des courtiers du cluster, utilisez la commande managed-kafka clusters describe avec l'indicateur --full.

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

Remplacez les éléments suivants :

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

La sortie ressemble à ceci :

brokerDetails:
- brokerIndex: '0'
  nodeId: '10'
  rack: us-central1-c
- brokerIndex: '1'
  nodeId: '11'
  rack: us-central1-f
- brokerIndex: '2'
  nodeId: '12'
  rack: us-central1-b

CLI Kafka

Avant d'exécuter cette commande, installez les outils de ligne de commande Kafka sur une VM Compute Engine. La VM doit pouvoir accéder à un sous-réseau connecté à votre cluster Managed Service pour Apache Kafka. Suivez les instructions de la section Produire et consommer des messages avec les outils de ligne de commande Kafka.

Pour obtenir la liste des courtiers du cluster, utilisez la commande kafka-configs.sh --describe avec l'indicateur --entity-type=brokers.

kafka-configs.sh --describe --entity-type brokers \
  --bootstrap-server=BOOTSTRAP_ADDRESS \
  --command-config client.properties

Remplacez BOOTSTRAP_ADDRESS par l'adresse d'amorçage du cluster.

Cette commande renvoie une liste d'ID de brokers, ainsi que leurs paramètres de configuration dynamiques, le cas échéant. Elle ne renvoie pas la propriété rack.

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.

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.