How to expose the Kubernetes API to a Public IP?
<p>I have successfully set up a Kubernetes cluster on my VMware host using Rancher. I have the kubernetes-dashboard running and can execute commands to the cluster using kubectl. </p>

<p>Now, I want to deploy my application to the cluster using a SaaS build tool (Distelli). This build tool should connect to my host using a HTTPS client certificate, client key, and cluster certificate.</p>

<p>However, my kubernetes API is not public yet.</p>

<p>This is my current kubernetes service configuration:</p>

<pre><code>$kubectl describe services kubernetes
Name:           kubernetes
Namespace:      default
Labels:         component=apiserver
            provider=kubernetes
Selector:       &lt;none&gt;
Type:           ClusterIP
IP:         10.43.0.1
Port:           https   443/TCP
Endpoints:      10.42.173.175:6443
Session Affinity:   ClientIP
</code></pre>

<p>How do I make this service available on the external IP address? I have tried to use an ingress loadbalancer to the server, but it only returns an 503 Service not available.</p>

<p>Any ideas?</p>