title: Couldn't access my Kubernetes service via a traefik reverse proxy
body: <p>I deploy a kubernetes cluster (1.8.8) in an cloud openstack pf (1 master with public ip adress/ 3 nodes). I want to use traefik (last version 1.6.1) as a reverse proxy for accessing my services.</p>
  
  <p>Traefik was well deployed as a daemonset and I can access his GUI on port 8081. My prometheus ingress appears correctly in the traefik interface but I can't access my prometheus server UI. </p>
  
  <p>Could you tell me what I am doing wrong ? Did I miss something ? </p>
  
  <p>Thanks</p>
  
  <p>Ingress of my prometheus:</p>
  
  <pre><code>apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: prometheus-ingress
    annotations:
      kubernetes.io/ingress.class: traefik
      traefik.frontend.rule.type: pathprefixstrip
  spec:
    rules:
    - http:
        paths:
        - path: /prometheus
          backend:
            serviceName: prometheus-svc
            servicePort: prom
  </code></pre>
  
  <p>My daemonset is below:</p>
  
  <pre><code>apiVersion: v1
  kind: Namespace
  metadata:
    name: traefik
  ---
  apiVersion: v1
  kind: ServiceAccount
  metadata:
    name: traefik-ingress-controller
    namespace: traefik
  ---
  apiVersion: extensions/v1beta1
  kind: DaemonSet
  metadata:
   name: traefik-ingress-controller
   namespace: traefik
   labels:
     k8s-app: traefik-ingress-lb
     kubernetes.io/cluster-service: "true"
  spec:
   template:
     metadata:
       labels:
         k8s-app: traefik-ingress-lb
         name: traefik-ingress-lb
     spec:
       hostNetwork: true # workaround
       serviceAccountName: traefik-ingress-controller
       terminationGracePeriodSeconds: 60
       tolerations:
       - key: node-role.kubernetes.io/master
         effect: NoSchedule
       containers:
       - image: traefik:v1.6.1
         name: traefik-ingress-lb
         imagePullPolicy: Always
         volumeMounts:
           - mountPath: "/config"
             name: "config"
         resources:
           requests:
             cpu: 100m
             memory: 20Mi
         args:
         - --kubernetes
         - --configfile=/config/traefik.toml
       volumes:
       - name: config
         configMap:
           name: traefik-conf
  ---
  apiVersion: v1
  kind: Service
  metadata:
    name: traefik-web-ui
    namespace: traefik
  spec:
    selector:
      k8s-app: traefik-ingress-lb
    ports:
    - port: 80
      targetPort: 8080
  ---
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: traefik-web-ui
    namespace: traefik
    annotations:
      kubernetes.io/ingress.class: traefik
      traefik.frontend.rule.type: pathprefixstrip
  spec:
    rules:
    - host: example.com
      http:
        paths:
        - backend:
            serviceName: traefik-web-ui
            servicePort: 80
  ---
  kind: ClusterRole
  apiVersion: rbac.authorization.k8s.io/v1beta1
  metadata:
    name: traefik-ingress-controller
  rules:
    - apiGroups:
        - ""
      resources:
        - services
        - endpoints
        - secrets
      verbs:
        - get
        - list
        - watch
    - apiGroups:
        - extensions
      resources:
        - ingresses
      verbs:
        - get
        - list
        - watch
  ---
  kind: ClusterRoleBinding
  apiVersion: rbac.authorization.k8s.io/v1beta1
  metadata:
    name: traefik-ingress-controller
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: traefik-ingress-controller
  subjects:
  - kind: ServiceAccount
    name: traefik-ingress-controller
    namespace: kube-system
  ---
  apiVersion: v1
  kind: ConfigMap
  metadata:
   name: traefik-conf
   namespace: traefik
  data:
   traefik.toml: |-
     defaultEntryPoints = ["http"]
  
     [entryPoints]
       [entryPoints.http]
         address = ":80"
  
     [web]
       address = ":8081"
  </code></pre>