Treafik UI - Kubernetes - отказано в соединении - PullRequest
0 голосов
/ 10 мая 2018

Я установил Traefik в Kubernetes и следовал всему официальному учебнику. У меня кластер из 4 машин для Kubernetes.

Когда я запускаю kubectl --namespace=kube-system get pods Я вижу traefik-ingress-controller-678226159-eqseo, так что все в порядке.

Тогда я выполнил:

kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/ui.yaml

и затем побежал:

echo "$(my master node ip) traefik-ui.minikube" | sudo tee -a /etc/hosts

что привело к: http://192.168.178.31 traefik-ui.minikube в /etc/hosts

Я дополнительно отредактировал kubectl -n kube-system edit service traefik-web-ui сервис и изменил тип NodePort.

Когда я наконец запускаю $ curl http://192.168.178.31:31107, я получаю:

curl: (7) Failed to connect to 192.168.178.31 port 31107: Connection refused

Кто-нибудь знает, почему я получаю Соединение отказано?

РЕДАКТИРОВАТЬ 1:

Журнал от kubectl logs -f traefik-ingress-controller-68994b879-5z2xr -n kube-system:

time="2018-05-13T09:55:48Z" level=info msg="Traefik version v1.6.0 built on 2018-04-30_09:28:44PM"
time="2018-05-13T09:55:48Z" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://docs.traefik.io/basics/#collected-data\n"
time="2018-05-13T09:55:48Z" level=info msg="Preparing server http &{Address::80 TLS:<nil> Redirect:<nil> Auth:<nil> WhitelistSourceRange:[] WhiteList:<nil> Compress:false ProxyProtocol:<nil> ForwardedHeaders:0x14ed5e50} with readTimeout=0s writeTimeout=0s idleTimeout=3m0s"
time="2018-05-13T09:55:48Z" level=info msg="Preparing server traefik &{Address::8080 TLS:<nil> Redirect:<nil> Auth:<nil> WhitelistSourceRange:[] WhiteList:<nil> Compress:false ProxyProtocol:<nil> ForwardedHeaders:0x14ed5e60} with readTimeout=0s writeTimeout=0s idleTimeout=3m0s"
time="2018-05-13T09:55:48Z" level=info msg="Starting server on :80"
time="2018-05-13T09:55:48Z" level=info msg="Starting provider *kubernetes.Provider {\"Watch\":true,\"Filename\":\"\",\"Constraints\":[],\"Trace\":false,\"TemplateVersion\":0,\"DebugLogGeneratedTemplate\":false,\"Endpoint\":\"\",\"Token\":\"\",\"CertAuthFilePath\":\"\",\"DisablePassHostHeaders\":false,\"EnablePassTLSCert\":false,\"Namespaces\":null,\"LabelSelector\":\"\",\"IngressClass\":\"\"}"
time="2018-05-13T09:55:48Z" level=info msg="Starting server on :8080"
time="2018-05-13T09:55:48Z" level=info msg="ingress label selector is: \"\""
time="2018-05-13T09:55:48Z" level=info msg="Creating in-cluster Provider client"
time="2018-05-13T09:55:48Z" level=info msg="Server configuration reloaded on :80"
time="2018-05-13T09:55:48Z" level=info msg="Server configuration reloaded on :8080"
time="2018-05-13T09:55:53Z" level=info msg="Server configuration reloaded on :80"
time="2018-05-13T09:55:53Z" level=info msg="Server configuration reloaded on :8080"
time="2018-05-13T09:55:55Z" level=info msg="Server configuration reloaded on :80"
time="2018-05-13T09:55:55Z" level=info msg="Server configuration reloaded on :8080"

1 Ответ

0 голосов
/ 11 мая 2018

в https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/ui.yaml есть следующее определение входа:

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  rules:
  - host: traefik-ui.minikube
    http:
      paths:
      - path: /
        backend:
          serviceName: traefik-web-ui
          servicePort: web

Это означает, что вы должны получить доступ к traefik-web-ui через службу доступа.

Если вы развернули traefik как Deployment (https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/traefik-deployment.yaml),, вы должны проверить NodePort, возвращаемый kubectl describe svc traefik-ingress-service -n kube-system и использовать его в качестве URL-адреса (http://traefik -ui.minikube: xxx )

(вам не нужно менять traefik-web-ui на NodePort)

Если вы использовали DeamonSet (https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/traefik-ds.yaml), просто используйте http://traefik-ui.minikube.

Если вы хотите получить прямой доступ к traefik-web-ui, проще всего будет: minikube service traefik-web-ui --url

...