Не удалось получить доступ к моему сервису Kubernetes через обратный прокси-сервер traefik - PullRequest
0 голосов
/ 16 мая 2018

Я развертываю кластер kubernetes (1.8.8) в облачном openstack pf (1 мастер с общедоступным IP-адресом / 3 узлами).Я хочу использовать traefik (последняя версия 1.6.1) в качестве обратного прокси-сервера для доступа к моим службам.

Traefik был хорошо развернут в качестве демона, и я могу получить доступ к его графическому интерфейсу через порт 8081. Мой вход Prometheus отображается правильно винтерфейс traefik, но я не могу получить доступ к своему интерфейсу сервера Prometheus.

Не могли бы вы сказать мне, что я делаю не так?Я что-то пропустил ?

Спасибо

Вход моего прометея:

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

Мой демон установлен ниже:

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"
...