<p>I need to set up NiFi in Kubernetes (microk8s), in a VM (Ubuntu, using VirtualBox) using a helm chart. The end goal is to have two-way communication with Kafka, which is also already deployed in Kubernetes.</p>
<p>I have found a helm chart for NiFi available through Cetic <a href="https://github.com/cetic/helm-nifi" rel="nofollow noreferrer">here</a>. Kafka is already set up to allow external access through a NodePort, so my assumption is that I should do the same for NiFi (at least for simplicity's sake), though any alternative solution is welcome.</p>
<p>From the documentation, there is NodePort access optionality:</p>
<blockquote>
<p>NodePort: Exposes the service on each Node’s IP at a static port (the
NodePort). You’ll be able to contact the NodePort service, from
outside the cluster, by requesting NodeIP:NodePort.</p>
</blockquote>
<p>Additionally, the documentation states (paraphrasing):</p>
<blockquote>
<p>service.type defaults to NodePort</p>
</blockquote>
<p>However, this does not appear to be true for the helm file, given that the default value in the chart's <a href="https://github.com/cetic/helm-nifi/blob/master/values.yaml" rel="nofollow noreferrer">values.yaml file</a> has <code>service.type=ClusterIP</code>.</p>
<p>I have very little experience with any of these technologies, so my question is, how do I actually set up the NiFi helm chart YAML file to allow two-way communication (presumably via NodePorts)? Is it as simple as &quot;requesting NodeIP:NodePort&quot;, and if so, how do I do this?</p>
<p><strong>UPDATE</strong></p>
<p>I attempted <a href="https://jmrobles.medium.com/running-apache-nifi-on-kubernetes-5b7e95adebf3" rel="nofollow noreferrer">JM Robles's approach</a> (which does not use helm), but the API version used for Ingress is out-of-date and I haven't been able to figure out how to fix it.</p>
<p>I also tried <a href="https://github.com/getindata/apache-nifi-kubernetes" rel="nofollow noreferrer">GetInData's approach</a>, but the helm commands provided result in: <code>Error: unknown command &quot;nifi&quot; for &quot;helm&quot;</code>.</p>

wb1210
<p>I found an answer, for any faced with a similar problem. As of late January 2023, the following can be used to set up NiFi as described in the question:</p>
<pre><code>helm remo add cetic https://cetic.github.io/helm-charts
helm repo update
helm install -n &lt;namespace&gt; --set persistence.enabled=True --set service.type=NodePort --set properties.sensitiveKey=&lt;key you want&gt; --set auth.singleUser.username=&lt;your username&gt; --set auth.singleUser.password=&lt;password you select, must be at least 12 characters&gt; nifi cetic/nifi
</code></pre>
