<p>I have a Kubernetes cluster set up using Kubernetes Engine on GCP. I have also installed Dask using the Helm package manager. My data are stored in a Google Storage bucket on GCP.</p>

<p>Running <code>kubectl get services</code> on my local machine yields the following output</p>

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

<p>I can open the dashboard and jupyter notebook using the external IP without any problems. However, I'd like to develop a workflow where I write code in my local machine and submit the script to the remote cluster and run it there. </p>

<p><strong>How can I do this?</strong></p>

<p>I tried following the instructions in <a href="http://distributed.dask.org/en/latest/submitting-applications.html" rel="nofollow noreferrer">Submitting Applications</a> using <code>dask-remote</code>. I also tried exposing the scheduler using <code>kubectl expose deployment</code> with type LoadBalancer, though I do not know if I did this correctly. Suggestions are greatly appreciated.</p>

<p>Yes, if your client and workers share the same software environment then you should be able to connect a client to a remote scheduler using the publicly visible IP.</p>

<pre><code>from dask.distributed import Client
client = Client('REDACTED_EXTERNAL_SCHEDULER_IP')
</code></pre>
