Skip to main content

Tools

Vamos falar tools que acredito serem necessário para desenvolvimento em torno do Kafka.

Schema Registry

Vamos utilizar o schema registry da Confluent nesse estudo, pois é o mais utilizado. No futuro vamos fazer um estudo sobre o Apicur.io.

Podemos ir por dois caminho:

  • Utilizar o Confluent Schema Registry oferecido pela Bitnami.
  • Utilizar o oficial oferecido pela própria Confluent.
    • Neste caso é necessário instalar o operator que faz o processo de instalação através de custom resource.

A vantagem de instalar através do CFK é que estamos extendendo a API do kubernetes para futuras automatações.

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

Não tem muita coisa para mudar no values.yaml. Na verdade vamos instalar alguns custom resources e só utilizaremos alguns para criar o schema registry e no futuro alguns schemas.

Podemos aproveitar para instalar também o ksqlDB que também é oferecido através de um custom resource.

Para instalar o schema registry então criamos o seguinte manifesto.

apiVersion: platform.confluent.io/v1beta1
kind: SchemaRegistry
metadata:
name: schemaregistry
namespace: confluent
spec:
replicas: 1 # Ajuste para um cluster maior
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 # Ajuste para um cluster maior
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