<p>I try to install Traefik Web UI, but under Vagrant, without Minikube. This is a Multi-Node setup. On the host machine, I tried to reach UI both under <code>localhost:8081</code> (guest 8080 port exposed to host in Vagrantfile) and <code>https://localhost:6443/api/v1/namespaces/kube-system/services/https:traefik-web-ui:/proxy/</code> without luck. Can you recommend a working setting? On this last URL, I'm getting this error:</p>

<pre class="lang-json prettyprint-override"><code>{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "no endpoints available for service \"https:traefik-web-ui:\"",
  "reason": "ServiceUnavailable",
  "code": 503
}
</code></pre>

<p>SSHing into the master machine, the Web UI is working:</p>

<pre class="lang-bash prettyprint-override"><code>vagrant@my-project-master:/vagrant$ kubectl get services --namespace=kube-system
NAME                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)           AGE
...
traefik-ingress-service   ClusterIP   10.110.210.58    &lt;none&gt;        80/TCP,8080/TCP   4m30s
traefik-web-ui            ClusterIP   10.98.235.112    &lt;none&gt;        80/TCP            4m29s

vagrant@my-project-master:/vagrant$ curl 10.110.210.58:8080/dashboard/
&lt;!doctype html&gt;&lt;html class="has-navbar-fixed-top"&gt;&lt;head&gt;&lt;meta charset="utf-8"&gt;&lt;title&gt;Traefik&lt;/title&gt;&lt;base href="./"&gt;&lt;meta name="viewport" content="width=device-width,initial-scale=1"&gt;&lt;link rel="icon" type="image/x-icon" href="./assets/images/traefik.icon.png"&gt;&lt;link href="styles.e21e21d47be645f690e6.bundle.css" rel="stylesheet"/&gt;&lt;/head&gt;&lt;body&gt;&lt;app-root&gt;&lt;/app-root&gt;&lt;script type="text/javascript" src="inline.318b50c57b4eba3d437b.bundle.js"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="polyfills.1457c99db4b6dba06e8d.bundle.js"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="scripts.ef668c5c0d42ec4c5e83.bundle.js"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="main.f341693bf9ed22060b42.bundle.js"&gt;&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;
</code></pre>

<p>The current <code>ui.yml</code>:</p>

<pre class="lang-yaml prettyprint-override"><code>---
apiVersion: v1
kind: Service
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
  - name: web
    port: 80
    targetPort: 8080
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  rules:
  #- host: traefik-ui.minikube
  - host: traefik-ui.local
    http:
      paths:
      - path: /
        backend:
          serviceName: traefik-web-ui
          servicePort: web
</code></pre>

<p>Installed with:</p>

<pre class="lang-bash prettyprint-override"><code>kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/traefik-rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/traefik-ds.yaml
#kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/ui.yaml
kubectl apply -f /vagrant/hashicorp/manifests/traefik/ui.yml
</code></pre>

<p>How can I reach the Web UI on the host machine, preferably make it available for the host browser with only an installed certificate?</p>

<p>I use the Kubernetes Dashboard similarly, with the certificate installed on the host browser.</p>

<p>I found the correct URL under the API to reach the UI:</p>

<p><code>https://localhost:6443/api/v1/namespaces/kube-system/services/http:traefik-ingress-service:8080/proxy/dashboard/</code></p>

<p>Making these commands obsolute:</p>

<pre><code>kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/ui.yaml
# or
kubectl apply -f /vagrant/hashicorp/manifests/traefik/ui.yml
</code></pre>
