<div class="s-table-container">
<table class="s-table">
<thead>
<tr>
<th></th>
<th>version</th>
</tr>
</thead>
<tbody>
<tr>
<td>Java</td>
<td>1.8.0_242-b08</td>
</tr>
<tr>
<td>Spark</td>
<td>2.4.5</td>
</tr>
<tr>
<td>Zeppelin</td>
<td>0.10.0</td>
</tr>
</tbody>
</table>
</div>
<p>Inside a k8s Pod, with above set, web ui running, I opened Zeppelin's spark interpreter and ran <code>sc</code>. Following Error prints out:</p>
<pre><code>io.fabric8.kubernetes.client.KubernetesClientException: Operation: [create] for kind: [Pod] with name: [null] in namespace: [default] failed.
</code></pre>
<p>Besides that it's not working, what I don't understand is whether Zeppelin use k8s and how.</p>
<p>Did some searching. <code>fabric8</code> seems to be related to k8s and I suppose Zeppelin tries to run its interpreters in k8s cluster. Yet, k8s is not installed (?... like <code>kubectl</code>?) in the machine (where Zeppelin is running). So there are two explanation I can think of:</p>
<ol>
<li><code>fabric8</code> include k8s so Zeppelin creates local k8s cluster to run its interpreters.</li>
<li>Zeppelin somehow detected it's been run in k8s Pod and tries to use that Cluster to create Pod, run interpreters in it.</li>
</ol>
<p>Think the first explanation is the correct one. But running local k8s cluster under the hood feels... how? Error itself was solved by using different versions: Spark 2.4.0, Zeppelin 0.8.2, yet would be nice if I could use up-to-date Spark and Zeppelin.</p>
<p>And in addition, the error itself seems to be related with <a href="https://github.com/fabric8io/kubernetes-client/issues/2145" rel="nofollow noreferrer">specific Java version</a>.</p>

<p>Found out Zeppelin has a parameter ZEPPELIN_RUN_MODE. By default it is set as &quot;auto&quot;. If you are running Zeppelin in a Pod and don't want to run within k8s sidecar, you should set it &quot;local&quot;.</p>
