K8S: Ошибка при выполнении процедуры синхронизации балансировщика нагрузки - PullRequest
1 голос
/ 26 апреля 2019

Попытка запустить ThingsBoard в облаке Google.

Теперь я вижу следующую ошибку:

Ошибка при синхронизации: ошибка при выполнении процедуры синхронизации балансировщика нагрузки: Вещи loadbalancer-tb-ingress - 013d7ab9087175d7 не существуют: CreateUrlMap: googleapi: ошибка 400: недопустимое значение для поля 'resource': '{"name": "k8s-um-thingsboard-tb-ingress - 013d7ab9087175d7", "hostRule": [{ "host": ["*"], "... '. Неверный шаблон пути, неверный

kubectl description ingress дает мне следующее:

Name:             tb-ingress
Namespace:        thingsboard
Address:
Default backend:  default-http-backend:80 (10.52.0.5:8080)
Rules:
  Host  Path  Backends
  ----  ----  --------
  *
        /api/v1/.*            tb-http-transport:http (<none>)
        /static/rulenode/.*   tb-node:http (<none>)
        /static/.*            tb-web-ui:http (<none>)
        /index.html.*         tb-web-ui:http (<none>)
        /                     tb-web-ui:http (<none>)
        /.*                   tb-node:http (<none>)
Annotations:
  kubectl.kubernetes.io/last-applied-configuration:  {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"nginx.ingress.kubernetes.io/proxy-read-timeout":"3600","nginx.ingress.kubernetes.io/ssl-redirect":"false","nginx.ingress.kubernetes.io/use-regex":"true"},"name":"tb-ingress","namespace":"thingsboard"},"spec":{"rules":[{"http":{"paths":[{"backend":{"serviceName":"tb-http-transport","servicePort":"http"},"path":"/api/v1/.*"},{"backend":{"serviceName":"tb-node","servicePort":"http"},"path":"/static/rulenode/.*"},{"backend":{"serviceName":"tb-web-ui","servicePort":"http"},"path":"/static/.*"},{"backend":{"serviceName":"tb-web-ui","servicePort":"http"},"path":"/index.html.*"},{"backend":{"serviceName":"tb-web-ui","servicePort":"http"},"path":"/"},{"backend":{"serviceName":"tb-node","servicePort":"http"},"path":"/.*"}]}}]}}

  nginx.ingress.kubernetes.io/proxy-read-timeout:  3600
  nginx.ingress.kubernetes.io/ssl-redirect:        false
  nginx.ingress.kubernetes.io/use-regex:           true
Events:
  Type     Reason  Age               From                     Message
  ----     ------  ----              ----                     -------
  Warning  Sync    3m (x28 over 1h)  loadbalancer-controller  Error during sync: error running load balancer syncing routine: loadbalancer thingsboard-tb-ingress--013d7ab9087175d7 does not exist: CreateUrlMap: googleapi: Error 400: Invalid value for field 'resource': '{  "name": "k8s-um-thingsboard-tb-ingress--013d7ab9087175d7",  "hostRule": [{    "host": ["*"],    "...'. Invalid path pattern, invalid

Что мне здесь не хватает?

Ответы [ 2 ]

2 голосов
/ 29 апреля 2019

Я забыл указать kubernetes.io/ingress.class: аннотация "nginx".Если вы не укажете kubernetes.io/ingress.class - GKE рассмотрит возможность использования своего собственного входа, который не поддерживает регулярные выражения и выдает указанную ошибку.

0 голосов
/ 26 апреля 2019

Согласно входной спецификации, секция host может содержать только полное доменное имя. Подстановочные знаки не являются полными доменными именами, и поэтому они вызывают проблемы.

"hostRule": [{    "host": ["*"],    "...'. Invalid path pattern, invalid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...