Traefik-ingress dashboard return 404












2














I deploy traefik ingress controller pod and then two services, one of them a LoadBalancer type for reverse-proxy and the other a ClusterIP for dashboard.



Also I create ingress for redirect all <elb-address>/dashboard to my traefik dashboard.



but for some reason I get 404 error code when I trying to request my dashboard at aws-ip/dashboard



That is the manifest yamls that I use to set up traefik



---
apiVersion: v1
kind: ServiceAccount
metadata:
name: traefik-ingress-controller
namespace: kube-system
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: traefik-ingress-controller
namespace: kube-system
labels:
k8s-app: traefik-ingress-lb
spec:
replicas: 1
selector:
matchLabels:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
serviceAccountName: traefik-ingress-controller
terminationGracePeriodSeconds: 60
containers:
- image: traefik
name: traefik-ingress-lb
ports:
- name: http
containerPort: 80
- name: admin
containerPort: 8080
args:
- --api
- --kubernetes
- --logLevel=INFO
---
kind: Service
apiVersion: v1
metadata:
name: traefik-ingress-service
namespace: kube-system
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
targetPort: 80
port: 80
type: LoadBalancer
---
kind: Service
apiVersion: v1
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:
namespace: kube-system
name: traefik-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- http:
paths:
- path: /dashboard
backend:
serviceName: traefik-web-ui
servicePort: web




Update



I am watching the log and get a the follow errors with rbac activated and the ClusterRole, ServiceRole and ServiceAccount created:



E1124 18:56:23.267560       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"
E1124 18:56:23.648207 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Service: services is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list services in the namespace "default"
E1124 18:56:23.267560 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"


This are my serviceAccount, clusterRole and RoleBingind



kind: ServiceAccount
apiVersion: v1
metadata:
name: traefik-ingress
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses/status
verbs:
- update
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: traefik-ingress
subjects:
- kind: ServiceAccount
name: traefik-ingress
namespace: default









share|improve this question
























  • Which version of Traefik do you use ?
    – Nepomucen
    Nov 21 at 17:15










  • @Nepomucen traefik 1.7
    – framled
    Nov 21 at 21:26
















2














I deploy traefik ingress controller pod and then two services, one of them a LoadBalancer type for reverse-proxy and the other a ClusterIP for dashboard.



Also I create ingress for redirect all <elb-address>/dashboard to my traefik dashboard.



but for some reason I get 404 error code when I trying to request my dashboard at aws-ip/dashboard



That is the manifest yamls that I use to set up traefik



---
apiVersion: v1
kind: ServiceAccount
metadata:
name: traefik-ingress-controller
namespace: kube-system
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: traefik-ingress-controller
namespace: kube-system
labels:
k8s-app: traefik-ingress-lb
spec:
replicas: 1
selector:
matchLabels:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
serviceAccountName: traefik-ingress-controller
terminationGracePeriodSeconds: 60
containers:
- image: traefik
name: traefik-ingress-lb
ports:
- name: http
containerPort: 80
- name: admin
containerPort: 8080
args:
- --api
- --kubernetes
- --logLevel=INFO
---
kind: Service
apiVersion: v1
metadata:
name: traefik-ingress-service
namespace: kube-system
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
targetPort: 80
port: 80
type: LoadBalancer
---
kind: Service
apiVersion: v1
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:
namespace: kube-system
name: traefik-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- http:
paths:
- path: /dashboard
backend:
serviceName: traefik-web-ui
servicePort: web




Update



I am watching the log and get a the follow errors with rbac activated and the ClusterRole, ServiceRole and ServiceAccount created:



E1124 18:56:23.267560       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"
E1124 18:56:23.648207 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Service: services is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list services in the namespace "default"
E1124 18:56:23.267560 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"


This are my serviceAccount, clusterRole and RoleBingind



kind: ServiceAccount
apiVersion: v1
metadata:
name: traefik-ingress
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses/status
verbs:
- update
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: traefik-ingress
subjects:
- kind: ServiceAccount
name: traefik-ingress
namespace: default









share|improve this question
























  • Which version of Traefik do you use ?
    – Nepomucen
    Nov 21 at 17:15










  • @Nepomucen traefik 1.7
    – framled
    Nov 21 at 21:26














2












2








2







I deploy traefik ingress controller pod and then two services, one of them a LoadBalancer type for reverse-proxy and the other a ClusterIP for dashboard.



Also I create ingress for redirect all <elb-address>/dashboard to my traefik dashboard.



but for some reason I get 404 error code when I trying to request my dashboard at aws-ip/dashboard



That is the manifest yamls that I use to set up traefik



---
apiVersion: v1
kind: ServiceAccount
metadata:
name: traefik-ingress-controller
namespace: kube-system
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: traefik-ingress-controller
namespace: kube-system
labels:
k8s-app: traefik-ingress-lb
spec:
replicas: 1
selector:
matchLabels:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
serviceAccountName: traefik-ingress-controller
terminationGracePeriodSeconds: 60
containers:
- image: traefik
name: traefik-ingress-lb
ports:
- name: http
containerPort: 80
- name: admin
containerPort: 8080
args:
- --api
- --kubernetes
- --logLevel=INFO
---
kind: Service
apiVersion: v1
metadata:
name: traefik-ingress-service
namespace: kube-system
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
targetPort: 80
port: 80
type: LoadBalancer
---
kind: Service
apiVersion: v1
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:
namespace: kube-system
name: traefik-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- http:
paths:
- path: /dashboard
backend:
serviceName: traefik-web-ui
servicePort: web




Update



I am watching the log and get a the follow errors with rbac activated and the ClusterRole, ServiceRole and ServiceAccount created:



E1124 18:56:23.267560       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"
E1124 18:56:23.648207 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Service: services is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list services in the namespace "default"
E1124 18:56:23.267560 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"


This are my serviceAccount, clusterRole and RoleBingind



kind: ServiceAccount
apiVersion: v1
metadata:
name: traefik-ingress
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses/status
verbs:
- update
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: traefik-ingress
subjects:
- kind: ServiceAccount
name: traefik-ingress
namespace: default









share|improve this question















I deploy traefik ingress controller pod and then two services, one of them a LoadBalancer type for reverse-proxy and the other a ClusterIP for dashboard.



Also I create ingress for redirect all <elb-address>/dashboard to my traefik dashboard.



but for some reason I get 404 error code when I trying to request my dashboard at aws-ip/dashboard



That is the manifest yamls that I use to set up traefik



---
apiVersion: v1
kind: ServiceAccount
metadata:
name: traefik-ingress-controller
namespace: kube-system
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: traefik-ingress-controller
namespace: kube-system
labels:
k8s-app: traefik-ingress-lb
spec:
replicas: 1
selector:
matchLabels:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
serviceAccountName: traefik-ingress-controller
terminationGracePeriodSeconds: 60
containers:
- image: traefik
name: traefik-ingress-lb
ports:
- name: http
containerPort: 80
- name: admin
containerPort: 8080
args:
- --api
- --kubernetes
- --logLevel=INFO
---
kind: Service
apiVersion: v1
metadata:
name: traefik-ingress-service
namespace: kube-system
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
targetPort: 80
port: 80
type: LoadBalancer
---
kind: Service
apiVersion: v1
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:
namespace: kube-system
name: traefik-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- http:
paths:
- path: /dashboard
backend:
serviceName: traefik-web-ui
servicePort: web




Update



I am watching the log and get a the follow errors with rbac activated and the ClusterRole, ServiceRole and ServiceAccount created:



E1124 18:56:23.267560       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"
E1124 18:56:23.648207 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Service: services is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list services in the namespace "default"
E1124 18:56:23.267560 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: endpoints is forbidden: User "system:serviceaccount:kube-system:traefik-ingress" cannot list endpoints in the namespace "default"


This are my serviceAccount, clusterRole and RoleBingind



kind: ServiceAccount
apiVersion: v1
metadata:
name: traefik-ingress
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses/status
verbs:
- update
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: traefik-ingress
subjects:
- kind: ServiceAccount
name: traefik-ingress
namespace: default






kubernetes amazon-elb traefik kubernetes-ingress amazon-eks






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 25 at 0:13

























asked Nov 21 at 0:02









framled

958




958












  • Which version of Traefik do you use ?
    – Nepomucen
    Nov 21 at 17:15










  • @Nepomucen traefik 1.7
    – framled
    Nov 21 at 21:26


















  • Which version of Traefik do you use ?
    – Nepomucen
    Nov 21 at 17:15










  • @Nepomucen traefik 1.7
    – framled
    Nov 21 at 21:26
















Which version of Traefik do you use ?
– Nepomucen
Nov 21 at 17:15




Which version of Traefik do you use ?
– Nepomucen
Nov 21 at 17:15












@Nepomucen traefik 1.7
– framled
Nov 21 at 21:26




@Nepomucen traefik 1.7
– framled
Nov 21 at 21:26












2 Answers
2






active

oldest

votes


















1














I tried this myself. So basically when you create your Ingress it gets created with a host of traefik-ui.minikube (default), so you won't be able to access the dashboard with <elb-address>/dashboard/.



You will have to access it with traefik-ui.minikube/dashboard/. As an example:



$ kubectl -n kube-system get ingress
NAME HOSTS ADDRESS PORTS AGE
traefik-ingress * 80 8m13s
traefik-web-ui traefik-ui.minikube xxxx.elb.amazonaws.com 80 71d

$ curl -H 'Host: traefik-ui.minikube' xxxx.elb.amazonaws.com/dashboard/
<!doctype html><html class="has-navbar-fixed-top">
...
</html>


You can also add an entry to your /etc/hosts file if you'd like to see it on your browser.



 <one-of-the-ips-of-your-elb> traefik-ui.minikube 


And you can also use the host to the rules in your Ingress definition:



apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: kube-system
name: traefik-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: yourown.hostname.com
http:
paths:
- path: /dashboard
backend:
serviceName: traefik-web-ui
servicePort: web





share|improve this answer























  • still get 404 when I hit http://<accountid>.<region>.elb.amazonaws.com/dashboard/
    – framled
    Nov 21 at 12:33










  • Updated the answer, I tried it myself...
    – Rico
    Nov 21 at 18:54










  • I apply that configuration, but still get 404... And when execute kubectl get ingress -n kube-system the address column is empty :S
    – framled
    Nov 23 at 21:21












  • I suppose that resolve to my LoadBalancer service of traefik
    – framled
    Nov 23 at 21:38










  • Update my question
    – framled
    Nov 24 at 19:12



















1














Solution



I apply this



kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'


and then installed the stable/traefik template with helm



helm install stable/traefik --name=traefik-ingress-controller --values values.yaml


values.yaml file is:
dashboard:
enabled: true
domain: traefik-ui.k8s.io
rbac:
enabled: true
kubernetes:
namespaces:
- default
- kube-system



Thanks for help






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53403428%2ftraefik-ingress-dashboard-return-404%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    I tried this myself. So basically when you create your Ingress it gets created with a host of traefik-ui.minikube (default), so you won't be able to access the dashboard with <elb-address>/dashboard/.



    You will have to access it with traefik-ui.minikube/dashboard/. As an example:



    $ kubectl -n kube-system get ingress
    NAME HOSTS ADDRESS PORTS AGE
    traefik-ingress * 80 8m13s
    traefik-web-ui traefik-ui.minikube xxxx.elb.amazonaws.com 80 71d

    $ curl -H 'Host: traefik-ui.minikube' xxxx.elb.amazonaws.com/dashboard/
    <!doctype html><html class="has-navbar-fixed-top">
    ...
    </html>


    You can also add an entry to your /etc/hosts file if you'd like to see it on your browser.



     <one-of-the-ips-of-your-elb> traefik-ui.minikube 


    And you can also use the host to the rules in your Ingress definition:



    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    namespace: kube-system
    name: traefik-ingress
    annotations:
    kubernetes.io/ingress.class: traefik
    spec:
    rules:
    - host: yourown.hostname.com
    http:
    paths:
    - path: /dashboard
    backend:
    serviceName: traefik-web-ui
    servicePort: web





    share|improve this answer























    • still get 404 when I hit http://<accountid>.<region>.elb.amazonaws.com/dashboard/
      – framled
      Nov 21 at 12:33










    • Updated the answer, I tried it myself...
      – Rico
      Nov 21 at 18:54










    • I apply that configuration, but still get 404... And when execute kubectl get ingress -n kube-system the address column is empty :S
      – framled
      Nov 23 at 21:21












    • I suppose that resolve to my LoadBalancer service of traefik
      – framled
      Nov 23 at 21:38










    • Update my question
      – framled
      Nov 24 at 19:12
















    1














    I tried this myself. So basically when you create your Ingress it gets created with a host of traefik-ui.minikube (default), so you won't be able to access the dashboard with <elb-address>/dashboard/.



    You will have to access it with traefik-ui.minikube/dashboard/. As an example:



    $ kubectl -n kube-system get ingress
    NAME HOSTS ADDRESS PORTS AGE
    traefik-ingress * 80 8m13s
    traefik-web-ui traefik-ui.minikube xxxx.elb.amazonaws.com 80 71d

    $ curl -H 'Host: traefik-ui.minikube' xxxx.elb.amazonaws.com/dashboard/
    <!doctype html><html class="has-navbar-fixed-top">
    ...
    </html>


    You can also add an entry to your /etc/hosts file if you'd like to see it on your browser.



     <one-of-the-ips-of-your-elb> traefik-ui.minikube 


    And you can also use the host to the rules in your Ingress definition:



    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    namespace: kube-system
    name: traefik-ingress
    annotations:
    kubernetes.io/ingress.class: traefik
    spec:
    rules:
    - host: yourown.hostname.com
    http:
    paths:
    - path: /dashboard
    backend:
    serviceName: traefik-web-ui
    servicePort: web





    share|improve this answer























    • still get 404 when I hit http://<accountid>.<region>.elb.amazonaws.com/dashboard/
      – framled
      Nov 21 at 12:33










    • Updated the answer, I tried it myself...
      – Rico
      Nov 21 at 18:54










    • I apply that configuration, but still get 404... And when execute kubectl get ingress -n kube-system the address column is empty :S
      – framled
      Nov 23 at 21:21












    • I suppose that resolve to my LoadBalancer service of traefik
      – framled
      Nov 23 at 21:38










    • Update my question
      – framled
      Nov 24 at 19:12














    1












    1








    1






    I tried this myself. So basically when you create your Ingress it gets created with a host of traefik-ui.minikube (default), so you won't be able to access the dashboard with <elb-address>/dashboard/.



    You will have to access it with traefik-ui.minikube/dashboard/. As an example:



    $ kubectl -n kube-system get ingress
    NAME HOSTS ADDRESS PORTS AGE
    traefik-ingress * 80 8m13s
    traefik-web-ui traefik-ui.minikube xxxx.elb.amazonaws.com 80 71d

    $ curl -H 'Host: traefik-ui.minikube' xxxx.elb.amazonaws.com/dashboard/
    <!doctype html><html class="has-navbar-fixed-top">
    ...
    </html>


    You can also add an entry to your /etc/hosts file if you'd like to see it on your browser.



     <one-of-the-ips-of-your-elb> traefik-ui.minikube 


    And you can also use the host to the rules in your Ingress definition:



    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    namespace: kube-system
    name: traefik-ingress
    annotations:
    kubernetes.io/ingress.class: traefik
    spec:
    rules:
    - host: yourown.hostname.com
    http:
    paths:
    - path: /dashboard
    backend:
    serviceName: traefik-web-ui
    servicePort: web





    share|improve this answer














    I tried this myself. So basically when you create your Ingress it gets created with a host of traefik-ui.minikube (default), so you won't be able to access the dashboard with <elb-address>/dashboard/.



    You will have to access it with traefik-ui.minikube/dashboard/. As an example:



    $ kubectl -n kube-system get ingress
    NAME HOSTS ADDRESS PORTS AGE
    traefik-ingress * 80 8m13s
    traefik-web-ui traefik-ui.minikube xxxx.elb.amazonaws.com 80 71d

    $ curl -H 'Host: traefik-ui.minikube' xxxx.elb.amazonaws.com/dashboard/
    <!doctype html><html class="has-navbar-fixed-top">
    ...
    </html>


    You can also add an entry to your /etc/hosts file if you'd like to see it on your browser.



     <one-of-the-ips-of-your-elb> traefik-ui.minikube 


    And you can also use the host to the rules in your Ingress definition:



    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    namespace: kube-system
    name: traefik-ingress
    annotations:
    kubernetes.io/ingress.class: traefik
    spec:
    rules:
    - host: yourown.hostname.com
    http:
    paths:
    - path: /dashboard
    backend:
    serviceName: traefik-web-ui
    servicePort: web






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 21 at 18:53

























    answered Nov 21 at 1:14









    Rico

    25.9k94864




    25.9k94864












    • still get 404 when I hit http://<accountid>.<region>.elb.amazonaws.com/dashboard/
      – framled
      Nov 21 at 12:33










    • Updated the answer, I tried it myself...
      – Rico
      Nov 21 at 18:54










    • I apply that configuration, but still get 404... And when execute kubectl get ingress -n kube-system the address column is empty :S
      – framled
      Nov 23 at 21:21












    • I suppose that resolve to my LoadBalancer service of traefik
      – framled
      Nov 23 at 21:38










    • Update my question
      – framled
      Nov 24 at 19:12


















    • still get 404 when I hit http://<accountid>.<region>.elb.amazonaws.com/dashboard/
      – framled
      Nov 21 at 12:33










    • Updated the answer, I tried it myself...
      – Rico
      Nov 21 at 18:54










    • I apply that configuration, but still get 404... And when execute kubectl get ingress -n kube-system the address column is empty :S
      – framled
      Nov 23 at 21:21












    • I suppose that resolve to my LoadBalancer service of traefik
      – framled
      Nov 23 at 21:38










    • Update my question
      – framled
      Nov 24 at 19:12
















    still get 404 when I hit http://<accountid>.<region>.elb.amazonaws.com/dashboard/
    – framled
    Nov 21 at 12:33




    still get 404 when I hit http://<accountid>.<region>.elb.amazonaws.com/dashboard/
    – framled
    Nov 21 at 12:33












    Updated the answer, I tried it myself...
    – Rico
    Nov 21 at 18:54




    Updated the answer, I tried it myself...
    – Rico
    Nov 21 at 18:54












    I apply that configuration, but still get 404... And when execute kubectl get ingress -n kube-system the address column is empty :S
    – framled
    Nov 23 at 21:21






    I apply that configuration, but still get 404... And when execute kubectl get ingress -n kube-system the address column is empty :S
    – framled
    Nov 23 at 21:21














    I suppose that resolve to my LoadBalancer service of traefik
    – framled
    Nov 23 at 21:38




    I suppose that resolve to my LoadBalancer service of traefik
    – framled
    Nov 23 at 21:38












    Update my question
    – framled
    Nov 24 at 19:12




    Update my question
    – framled
    Nov 24 at 19:12













    1














    Solution



    I apply this



    kubectl create serviceaccount --namespace kube-system tiller
    kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
    kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'


    and then installed the stable/traefik template with helm



    helm install stable/traefik --name=traefik-ingress-controller --values values.yaml


    values.yaml file is:
    dashboard:
    enabled: true
    domain: traefik-ui.k8s.io
    rbac:
    enabled: true
    kubernetes:
    namespaces:
    - default
    - kube-system



    Thanks for help






    share|improve this answer


























      1














      Solution



      I apply this



      kubectl create serviceaccount --namespace kube-system tiller
      kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
      kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'


      and then installed the stable/traefik template with helm



      helm install stable/traefik --name=traefik-ingress-controller --values values.yaml


      values.yaml file is:
      dashboard:
      enabled: true
      domain: traefik-ui.k8s.io
      rbac:
      enabled: true
      kubernetes:
      namespaces:
      - default
      - kube-system



      Thanks for help






      share|improve this answer
























        1












        1








        1






        Solution



        I apply this



        kubectl create serviceaccount --namespace kube-system tiller
        kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
        kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'


        and then installed the stable/traefik template with helm



        helm install stable/traefik --name=traefik-ingress-controller --values values.yaml


        values.yaml file is:
        dashboard:
        enabled: true
        domain: traefik-ui.k8s.io
        rbac:
        enabled: true
        kubernetes:
        namespaces:
        - default
        - kube-system



        Thanks for help






        share|improve this answer












        Solution



        I apply this



        kubectl create serviceaccount --namespace kube-system tiller
        kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
        kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'


        and then installed the stable/traefik template with helm



        helm install stable/traefik --name=traefik-ingress-controller --values values.yaml


        values.yaml file is:
        dashboard:
        enabled: true
        domain: traefik-ui.k8s.io
        rbac:
        enabled: true
        kubernetes:
        namespaces:
        - default
        - kube-system



        Thanks for help







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 25 at 0:14









        framled

        958




        958






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53403428%2ftraefik-ingress-dashboard-return-404%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            Refactoring coordinates for Minecraft Pi buildings written in Python