Saltar al contenido

Uso de un conector con Kafka / Confluent instalado por Helm

Solución:

Idealmente, esto debería ser configurable como parte del helm script, pero desafortunadamente no lo es a partir de ahora. Una forma de solucionar este problema es crear un nuevo Docker a partir de la imagen de Docker de Kafka Connect de Confluent. Descargue el conector manualmente y extraiga el contenido en una carpeta. Copie el contenido de esto en una ruta en el contenedor. Algo como a continuación.

Contenido de Dockerfile

FROM confluentinc/cp-kafka-connect:5.2.1
COPY <connector-directory> /usr/share/java

/usr/share/java es la ubicación predeterminada donde Kafka Connect busca complementos. También puede utilizar una ubicación diferente y proporcionar la nueva ubicación (plugin.path) durante tu helm instalación.

Cree esta imagen y alójela en un lugar accesible. También tendrá que proporcionar / anular la imagen y los detalles de la etiqueta durante la helm instalación.

Aquí está el camino hacia el values.yaml expediente. Puedes encontrar el image y plugin.path valores aquí.

Solo un complemento al comentario de Jegan anterior: https://stackoverflow.com/a/56049585/6002912

Puede optar por hacer el Dockerfile a continuación. Recomendado.

FROM confluentinc/cp-server-connect-operator:5.4.0.0

RUN confluent-hub install --no-prompt debezium/debezium-connector-postgresql:1.0.0

O puede usar una compilación de múltiples etapas de Docker en su lugar.

FROM confluentinc/cp-server-connect-operator:5.4.0.0

COPY --from=debezium/connect:1.0 
    /kafka/connect/debezium-connector-postgres/ 
    /usr/share/confluent-hub-components/debezium-connector-postgres/

Esto le ayudará a ahorrar tiempo al obtener los archivos jar correctos para sus complementos, como debezium-connector-postgres.

De la documentación de Confluent: https://docs.confluent.io/current/connect/managing/extending.html#create-a-docker-image-containing-c-hub-connectors

El pod de Kafka Connect ya debería tener instalado el concentrador confluente. Es ese pod en el que debe ejecutar los comandos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *