Использование nginx -ingess для доступа к приложению в кластере kubernetes - PullRequest
0 голосов
/ 09 марта 2020

У меня чистый Kubernetes (1 мастер и 3 узла), и я использую metallb для обеспечения балансировки нагрузки.
У меня также есть Jupyterhub и nginx -адрес, установленный в качестве сервисов.

nginx -вход:

NAME                            TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE
nginx-ingress-controller        LoadBalancer   10.108.54.171   192.168.1.240   80:31463/TCP,443:30231/TCP   5m11s
nginx-ingress-default-backend   ClusterIP      10.98.47.19     <none>          80/TCP                       5m11s

Jupyterhub

NAME           TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE
proxy-public   LoadBalancer   10.102.251.6    192.168.1.242   80:32691/TCP,443:31737/TCP   8h

Я могу получить доступ к jupyterhub с внешнего IP, НО не могу получить к нему доступ через nginx -ingress

nginx -ingress config.yaml

apiVersion: extensions/v1beta1
ingress
     enabled: true
     hosts:
kind: Ingress
metadata:
     annotations:
        kubernetes.io/ingress.class: nginx
     name: myingress
     namespace: default
rbac:
   create: true
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
        serviceName: jhub
        servicePort: 80
      path: /classes

Мой вопрос: как мне получить доступ к jupyterhub (proxy-publi c) через nginx -адрес

Ответы [ 2 ]

1 голос
/ 09 марта 2020

Внутренняя служба proxy-public должна иметь тип ClusterIP, а не тип LoadBalancer, как и служба nginx-ingress-default-backend. Имя сервиса во входе должно быть proxy-public вместо jhub.

. Вы должны иметь доступ к нему через http://192.168.1.240/classes

.
0 голосов
/ 09 марта 2020

Вам понадобится запись DNS или запись в файле hosts, указывающая example.com (возможно, измените это) на внешний IP-адрес входного контроллера (192.168.1.240).

Входной контроллер будет направлять только запросы в служебный сервер, определенный во входе, если URI запроса соответствует полю host во входе.

...