<p>Have been trying to setup Kubeflow on bare metal (on prem etc) on a shared server i.e. not my laptop. I followed the <a href="https://www.kubeflow.org/docs/started/k8s/kfctl-k8s-istio/" rel="nofollow noreferrer">Kubeflow Deployment with kfctl_k8s_istio</a> setup instructions which all well.</p>

<p>Under "Access Kubeflow Dashboard" it says</p>

<blockquote>
  <p>Refer Ingress Gateway guide.</p>
</blockquote>

<p>which just leads to more questions I don't know the answer to coz i didn't write the setup i.e.</p>

<ol>
<li>What is the ingress port for the UI? <code>kubectl get svc istio-ingressgateway -n istio-system</code> returns a hug list??</li>
<li>What do i do if the external IP is <code>&lt;none&gt;</code>? The server has an IP on the local network i.e. 192.168.1.69</li>
<li>I'm assuming <code>kfctl</code> didn't setup an external load balancer?</li>
<li>Whats the container that hosts the web UI? What should the <code>Gateway</code> and <code>VirtualService</code> yaml look like?</li>
</ol>

<p>I want to use Kubeflow and have to learn how Istio works? Why?</p>

<p>So, in the end i went with k3s as it is a one-liner to setup</p>
<pre class="lang-sh prettyprint-override"><code>curl -sfL https://get.k3s.io | sh -
</code></pre>
<p>and there are <a href="https://rancher.com/docs/k3s/latest/en/installation/install-options/" rel="nofollow noreferrer">many options</a> which you can set with environmental vars.</p>
<p>We were using GPUs and so needed to setup <a href="https://github.com/NVIDIA/k8s-device-plugin" rel="nofollow noreferrer">NVIDIA device plugin for Kubernetes</a></p>
<p>We do all this now with Ansible scripts as we have a fleet of machines to manage.</p>
<p>Kubeflow is, like most Google projects, too bloated and we're looking at <a href="https://dagster.io/" rel="nofollow noreferrer">Dagster</a> now as its easy to develop with on your local setup.</p>
