<p>I have installed Kafka on a local Minikube by using the Helm charts <a href="https://github.com/confluentinc/cp-helm-charts" rel="noreferrer">https://github.com/confluentinc/cp-helm-charts</a> following these instructions <a href="https://docs.confluent.io/current/installation/installing_cp/cp-helm-charts/docs/index.html" rel="noreferrer">https://docs.confluent.io/current/installation/installing_cp/cp-helm-charts/docs/index.html</a> like so:</p>

<pre><code>helm install -f kafka_config.yaml confluentinc/cp-helm-charts --name kafka-home-delivery --namespace cust360
</code></pre>

<p>The kafka_config.yaml is almost identical to the default yaml, with the one exception being that I scaled it down to 1 server/broker instead of 3 (just because I'm trying to conserve resources on my local minikube; hopefully that's not relevant to my problem).</p>

<p>Also running on Minikube is a MySQL instance. Here's the output of <code>kubectl get pods --namespace myNamespace</code>:</p>

<p><a href="https://i.stack.imgur.com/agWGv.png" rel="noreferrer"><img src="https://i.stack.imgur.com/agWGv.png" alt="enter image description here"></a></p>

<p>I want to connect MySQL and Kafka, using one of the connectors (like <a href="https://www.confluent.io/connector/debezium-mysql-cdc-connector/" rel="noreferrer">Debezium MySQL CDC</a>, for instance). In the instructions, it says:</p>

<blockquote>
  <p><strong>Install your connector</strong></p>
  
  <p>Use the Confluent Hub client to install this
  connector with:</p>
  
  <p><code>confluent-hub install debezium/debezium-connector-mysql:0.9.2</code></p>
</blockquote>

<p>Sounds good, except 1) I don't know which pod to run this command on, 2) None of the pods seem to have a confluent-hub command available.</p>

<p>Questions:</p>

<ol>
<li>Does confluent-hub not come installed via those Helm charts?</li>
<li>Do I have to install confluent-hub myself?</li>
<li>If so, which pod do I have to install it on?</li>
</ol>

Matthew Groves
<p>Ideally this should be configurable as part of the <code>helm</code> script, but unfortunately it is not as of now. One way to work around this is to build a new Docker from Confluent's Kafka Connect Docker image. Download the connector manually and extract the contents into a folder. Copy the contents of this to a path in the container. Something like below. </p>

<p>Contents of Dockerfile</p>

<pre><code>FROM confluentinc/cp-kafka-connect:5.2.1
COPY &lt;connector-directory&gt; /usr/share/java
</code></pre>

<p><code>/usr/share/java</code> is the default location where Kafka Connect looks for plugins. You could also use different location and provide the new location (<code>plugin.path</code>) during your <code>helm</code> installation.</p>

<p>Build this image and host it somewhere accessible. You will also have to provide/override the image and tag details during the <code>helm</code> installation.</p>

<p><a href="https://github.com/confluentinc/cp-helm-charts/blob/e17565cd5a6985a594155b12b08068cb5882e51f/charts/cp-kafka-connect/values.yaml" rel="noreferrer">Here</a> is the path to the <code>values.yaml</code> file. You can find the <code>image</code> and <code>plugin.path</code> values here.</p>
