<p>I am trying to set Traefik as my ingress controller and load balancer on a single node cluster(Digital Ocean). Following <a href="https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md#deploy-traefik-using-helm-chart" rel="nofollow noreferrer">the official Traefik setup guide</a> I installed Traefik using helm:</p>

<pre><code>helm install --values values.yaml stable/traefik

# values.yaml
dashboard:
 enabled: true
 domain: traefik-ui.minikube
kubernetes:
 namespaces:
  - default
  - kube-system

#output
RESOURCES:
==&gt; v1/Pod(related)
NAME                                  READY  STATUS             RESTARTS  AGE
operatic-emu-traefik-f5dbf4b8f-z9bzp  0/1    ContainerCreating  0         1s

==&gt; v1/ConfigMap

NAME                  AGE
operatic-emu-traefik  1s

==&gt; v1/Service
operatic-emu-traefik-dashboard  1s
operatic-emu-traefik            1s

==&gt; v1/Deployment
operatic-emu-traefik  1s

==&gt; v1beta1/Ingress
operatic-emu-traefik-dashboard  1s
</code></pre>

<p>Then I created the service exposing the Web UI
<code>kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/ui.yaml</code></p>

<p>Then I can clearly see my traefik pod running and an external-ip being assigned:</p>

<pre><code>NAME                                     TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                      AGE
service/dashboard                        ClusterIP      10.245.156.214   &lt;none&gt;           443/TCP                      11d
service/kubernetes                       ClusterIP      10.245.0.1       &lt;none&gt;           443/TCP                      14d
service/operatic-emu-traefik             LoadBalancer   10.245.137.41    &lt;external-ip&gt;   80:31190/TCP,443:30207/TCP   5m7s
service/operatic-emu-traefik-dashboard   ClusterIP      10.245.8.156     &lt;none&gt;           80/TCP                       5m7s
</code></pre>

<p>Then opening <a href="http://external-ip/dashboard/" rel="nofollow noreferrer">http://external-ip/dashboard/</a> leads to 404 page not found</p>

<p>I read a ton of answers and tutorials but keep missing something. Any help is highly appreciated. </p>

Mihail Panayotov
<p>I am writing this post as the information is a bit much to fit in a comment. After spending enough time on understanding how k8s and helm charts work, this is how I solved it:</p>

<p>Firstly, I missed the RBAC part, I did not create ClusterRole and ClusterRoleBinding in order to authorise Traefik to use K8S API (as I am using 1.12 version). Hence, either I should have deployed ClusterRole and ClusterRoleBinding manually or added the following in my <code>values.yaml</code></p>

<pre><code>rbac:
  enabled: true
</code></pre>

<p>Secondly, I tried to access dashboard ui from ip directly without realising Traefik uses hostname to direct to its dashboard as @Rico mentioned above (I am voting you up as you did provide helpful info but I did not manage to connect all pieces of the puzzle at that time). So, either edit your <code>/etc/hosts</code> file linking your hostname to the <code>external-ip</code> and then access the dashboard via browser or test that it is working with curl:</p>

<pre><code>curl http://external-ip/dashboard/ -H 'Host: traefik-ui.minikube'
</code></pre>

<p>To sum up, you should be able to install Traefik and access its dashboard ui by installing:</p>

<pre><code>helm install --values values.yaml stable/traefik
# values.yaml
dashboard:
  enabled: true
  domain: traefik-ui.minikube
rbac:
  enabled: true
kubernetes:
  namespaces:
   - default
   - kube-system
</code></pre>

<p>and then editing your hosts file and opening the hostname you chose.</p>

<p>Now the confusing part from the <a href="https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md#deploy-traefik-using-helm-chart" rel="noreferrer">official traefik setup guide</a> is the section named <code>Submitting an Ingress to the Cluster</code> just below the <code>Deploy Traefik using Helm Chart</code> that instructs to install a service and an ingress object in order to be able to access the dashboard. This is unneeded as the official stable/traefik helm chart provides both of them. You would need that if you want to install traefik by deploying all needed objects manually. However for a person just starting out with k8s and helm, it looks like that section needs to be completed after installing helm via the official stable/traefik chart.</p>
