Skip to main content

Herramientas

Vamos a hablar de herramientas que creo son necesarias para el desarrollo en torno a Kafka.

Schema Registry

Vamos a utilizar el schema registry de Confluent en este estudio, pues es el más utilizado. En el futuro haremos un estudio sobre Apicur.io.

Podemos ir por dos caminos:

  • Utilizar el Confluent Schema Registry ofrecido por Bitnami.
  • Utilizar el oficial ofrecido por la propia Confluent.
    • En este caso es necesario instalar el operator que hace el proceso de instalación a través de custom resource.

La ventaja de instalar a través de CFK es que estamos extendiendo la API de kubernetes para futuras automatizaciones.

helm repo add confluentinc https://packages.confluent.io/helm
helm repo update
helm install confluent-operator confluentinc/confluent-for-kubernetes --namespace confluent --create-namespace

No hay muchas cosas que cambiar en el values.yaml. En realidad vamos a instalar algunos custom resources y solo utilizaremos algunos para crear el schema registry y en el futuro algunos schemas.

Podemos aprovechar para instalar también el ksqlDB que también es ofrecido a través de un custom resource.

Para instalar el schema registry entonces creamos el siguiente manifiesto.

apiVersion: platform.confluent.io/v1beta1
kind: SchemaRegistry
metadata:
name: schemaregistry
namespace: confluent
spec:
replicas: 1 # Ajusta para un cluster mayor
image:
application: confluentinc/cp-schema-registry:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dependencies:
kafka:
bootstrapEndpoint: kafka-cluster-kafka-bootstrap.kafka:9092
apiVersion: platform.confluent.io/v1beta1
kind: KsqlDB
metadata:
name: ksqldb
namespace: confluent
spec:
replicas: 1 # Ajusta para un cluster mayor
image:
application: confluentinc/cp-ksqldb-server:7.5.0
init: confluentinc/confluent-init-container:2.7.0
dataVolumeCapacity: 10Gi
dependencies:
kafka:
bootstrapEndpoint: kafka-cluster-kafka-bootstrap.kafka:9092
schemaRegistry:
url: http://schemaregistry.confluent:8081