Cómo ver un clúster de Google Cloud Managed Service para Apache Kafka

Para ver un clúster, puedes usar la consola de Google Cloud , Google Cloud CLI, la biblioteca cliente o la API de Managed Kafka. No puedes usar la API de Apache Kafka de código abierto para ver un clúster.

Roles y permisos necesarios para ver un clúster

Para obtener los permisos que necesitas para ver un clúster, pídele a tu administrador que te otorgue el rol de IAM de Visualizador de Kafka administrado (roles/managedkafka.viewer) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para ver un clúster. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ver un clúster:

  • Enumera los clústeres: managedkafka.clusters.list
  • Obtén los detalles del clúster: managedkafka.clusters.get

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Visualiza un clúster

Para ver un clúster, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Clústeres.

    Ir a los clústeres

    Se enumeran los clústeres que creaste en un proyecto.

  2. Para ver un clúster específico, haz clic en su nombre.

  3. Se abrirá la página de detalles del clúster. Esta página tiene las siguientes pestañas:

    • Recursos: Muestra la lista de temas y grupos de consumidores asociados con el clúster.
    • Control de acceso: Muestra las entradas de LCA del clúster.
    • Configuraciones: Muestra la configuración del clúster, incluida la lista de subredes asociadas con el clúster.
    • Supervisión: Muestra las alertas de supervisión asociadas con el clúster.
    • Registros: Muestra los registros relacionados con los clústeres del Explorador de registros.
    • Fuentes: Proporciona accesos directos para crear conectores de origen de Kafka Connect o generar datos de prueba sintéticos.
    • Receptores: Proporciona accesos directos para crear conectores de receptor de Kafka Connect.

gcloud

  1. En la consola de Google Cloud , activa Cloud Shell.

    Activa Cloud Shell

    En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

    • PROJECT_ID: Es el ID del proyecto.
    • LOCATION: Es la ubicación del clúster.
    • CLUSTER_ID: Es el ID del clúster.

    Ejecuta el siguiente comando:

    Linux, macOS o 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

    Deberías recibir una respuesta similar a la que figura a continuación:

    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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud .
  • LOCATION: Es la ubicación del clúster.
  • CLUSTER_ID: Es el ID del clúster.
  • CLUSTER_VIEW: Es la cantidad de metadatos que se mostrarán. Especifica uno de los siguientes valores:

    • CLUSTER_VIEW_BASIC: Muestra los metadatos básicos del clúster.
    • CLUSTER_VIEW_FULL: Muestra todos los metadatos del clúster, incluida la información sobre los agentes del clúster y el número de versión de Kafka que ejecuta el clúster.

    Si no se especifica, el método predeterminado es CLUSTER_VIEW_BASIC.

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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

Antes de probar esta muestra, sigue las instrucciones de configuración de Go en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de Managed Service para Apache Kafka.

Para autenticarte en Managed Service para Apache Kafka, configura las credenciales predeterminadas de la aplicación(ADC). Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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

Antes de probar esta muestra, sigue las instrucciones de configuración de Java en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de Managed Service para Apache Kafka.

Para autenticarte en Managed Service para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python que encontrarás en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de Managed Service para Apache Kafka.

Para autenticarte en Managed Service para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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}")

Visualiza las propiedades y los recursos del clúster

En las siguientes secciones, se describe cómo obtener detalles sobre varias propiedades y recursos asociados con un clúster de Google Cloud Managed Service para Apache Kafka.

Dirección de arranque

Los clientes de Kafka usan la dirección de arranque del clúster para establecer una conexión con el clúster. La dirección de arranque es fija durante la vida útil de un clúster, pero el formato de la URL de arranque puede variar entre clústeres.

Si tu clúster tiene habilitado el acceso público, la dirección de arranque se resuelve automáticamente en direcciones IP públicas o privadas, según desde dónde se conecte el cliente (con DNS de horizonte dividido). Tanto los clientes internos como los externos deben usar esta misma dirección de arranque para conectarse al clúster. No configures clientes de Kafka para que se conecten a registros DNS de descubrimiento, que se reservan solo para configurar firewalls de salida externos.

Para obtener la dirección de arranque, sigue estos pasos:

Console

  1. Ve a la página Managed Service para Apache Kafka > Clústeres.

    Ir a los clústeres

  2. Haz clic en el nombre del clúster.

  3. Selecciona la pestaña Configuraciones.

  4. Si usas SASL para autenticarte, la URL de arranque se indica en URL de arranque.

    Si usas TLS mutua (mTLS) para autenticarte, la URL de arranque aparece en URL de arranque de mTLS.

    Haz clic en Copiar para copiar el valor.

gcloud

Para obtener la URL de arranque, usa el comando managed-kafka clusters describe.

Si usas SASL para autenticarte, ejecuta el siguiente comando:

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

Si usas TLS mutua (mTLS) para autenticarte, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el ID o el nombre del clúster.
  • LOCATION: Es la ubicación del clúster.

Si tienes una dirección de arranque y quieres encontrar el clúster correspondiente, puedes filtrar la lista de clústeres en la consola de Google Cloud o ejecutar gcloud managed-kafka clusters list con --filter="bootstrapAddress:BOOTSTRAP_ADDRESS". Para obtener más información, consulta Enumera tus clústeres.

Para obtener más información sobre la autenticación de SASL y mTLS, consulta Tipos de autenticación para agentes de Kafka.

Agentes

Para ver los agentes de tu clúster, consulta Visualiza agentes en un clúster de Managed Service para Apache Kafka.

Grupos de consumidores

Un grupo de consumidores es un conjunto de consumidores que cooperan para consumir datos de varios temas. Para ver los grupos de consumidores de un clúster, consulta las siguientes páginas:

Subredes

Para ver las subredes que están conectadas a tu clúster, realiza los siguientes pasos:

Console

  1. En la consola de Google Cloud , ve a la página Clústeres.

    Ir a los clústeres

  2. Haz clic en el nombre del clúster.

  3. En la página de detalles del clúster, haz clic en la pestaña Configuraciones. Las subredes conectadas se enumeran en Subredes.

gcloud

  1. Ejecuta el comando gcloud managed-kafka clusters describe:

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

    Reemplaza lo siguiente:

    • CLUSTER_ID: Es el ID o el nombre del clúster.
    • LOCATION: Es la ubicación del clúster.

Para obtener más información, consulta Configura las redes para Managed Service para Apache Kafka.

Rangos de IP de origen permitidos

Para ver los rangos de IP de origen permitidos para un clúster público, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Clústeres.

    Ir a los clústeres

  2. Haz clic en el nombre del clúster.

  3. Haz clic en la pestaña Configurations. Los rangos de IP de origen permitidos se enumeran en la tabla Rangos de IP de origen permitidos en la columna Rango de IP.

gcloud

  1. Para ver los rangos de IP de origen permitidos con gcloud, verifica el campo gcpConfig.accessConfig.publicClusterConfig.allowedSourceIpRanges en la respuesta del comando gcloud managed-kafka clusters describe:

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

    Reemplaza lo siguiente:

    • CLUSTER_ID: Es el ID o el nombre del clúster.
    • LOCATION: Es la ubicación del clúster.

REST

Para ver los rangos de IP de origen permitidos con la API de REST, verifica el campo gcpConfig.accessConfig.publicClusterConfig.allowedSourceIpRanges en la respuesta de una solicitud GET:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud .
  • LOCATION: Es la ubicación del clúster.
  • CLUSTER_ID: Es el ID del clúster.
  • CLUSTER_VIEW: Es la cantidad de metadatos que se mostrarán. Especifica uno de los siguientes valores:

    • CLUSTER_VIEW_BASIC: Muestra los metadatos básicos del clúster.
    • CLUSTER_VIEW_FULL: Muestra todos los metadatos del clúster, incluida la información sobre los agentes del clúster y el número de versión de Kafka que ejecuta el clúster.

    Si no se especifica, el método predeterminado es CLUSTER_VIEW_BASIC.

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
    ]
  }
}

Para obtener más información sobre los rangos de IP de origen permitidos, consulta Clústeres públicos.

Detalles del clúster público

Para ver los detalles del clúster público, incluidas las direcciones IP externas y los registros DNS de descubrimiento, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Clústeres.

    Ir a los clústeres

  2. Haz clic en el nombre del clúster.

  3. Haz clic en la pestaña Configurations. Las direcciones IP externas y los registros DNS de descubrimiento se enumeran en los campos Direcciones IP externas y Registros DNS de descubrimiento.

gcloud

  1. Ejecuta el comando gcloud managed-kafka clusters describe:

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

    Reemplaza lo siguiente:

    • CLUSTER_ID: Es el ID o el nombre del clúster.
    • LOCATION: Es la ubicación del clúster.

REST

Para ver los detalles del clúster público con la API de REST, verifica el campo publicClusterDetails en la respuesta de una solicitud GET:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud .
  • LOCATION: Es la ubicación del clúster.
  • CLUSTER_ID: Es el ID del clúster.
  • CLUSTER_VIEW: Es la cantidad de metadatos que se mostrarán. Especifica uno de los siguientes valores:

    • CLUSTER_VIEW_BASIC: Muestra los metadatos básicos del clúster.
    • CLUSTER_VIEW_FULL: Muestra todos los metadatos del clúster, incluida la información sobre los agentes del clúster y el número de versión de Kafka que ejecuta el clúster.

    Si no se especifica, el método predeterminado es CLUSTER_VIEW_BASIC.

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
    ]
  }
}

Temas

Para ver los temas de un clúster, consulta las siguientes páginas:

Próximos pasos

Apache Kafka® es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.