Рейтинг:1

шлюз istio, не загружая приложение узла

флаг ke

Я попытался развернуть образец приложения nginx, и он работает. Итак, я заменил то же самое другим nodejs, так как он содержит несколько подстраниц. Итак, я могу проверить маршрутизацию.

Здесь с типом службы LoadBalancer по умолчанию страница загружается, как показано ниже.

ФУНТ

Но с шлюзом istio он просто показывает пустую страницу.

шлюз

Пожалуйста, предложите, как это исправить?

Мой шлюз:

версия API: networking.istio.io/v1alpha3
вид: Шлюз
метаданные:
  имя: SampleServer-Gateway
спецификация:
  селектор:
    istio: ingressgateway # использовать контроллер istio по умолчанию
  серверы:
  - порт:
      номер: 80
      имя: http
      протокол: HTTP
    хосты:
    - "*"

Мой виртуальный сервис:

версия API: networking.istio.io/v1alpha3
вид: виртуалсервис
метаданные:
  имя: nginxserver
спецификация:
  хосты:
  - "*"
  шлюзы:
  - SampleServer-шлюз
  http:
  - соответствовать:
    - ури:
        точный: /
    маршрут:
    - пункт назначения:
        хост: nginx-сервис
        порт:
          номер: 8080

Мой файл развертывания и обслуживания:

апиВерсия: v1
вид: сервис
метаданные:
  имя: nginx-сервис
  этикетки:
    приложение: nginx
    сервис: nginx
спецификация:
  селектор:
    приложение: nginx
  порты:
    - имя: http 
      порт: 8080
      целевой порт: 3000 #80

---
апиВерсия: v1
тип: ServiceAccount
метаданные:
  имя: nginx-детали
  этикетки:
    аккаунт: nginx
---
apiVersion: приложения/v1
вид: развертывание
метаданные:
  имя: nginx-развертывание
  этикетки:
    приложение: nginx
    версия: v1
спецификация:
  реплики: 1
  селектор:
    метки соответствия:
      приложение: nginx
      версия: v1
  шаблон:
    метаданные:
      этикетки:
        приложение: nginx
        версия: v1
    спецификация:
      serviceAccountName: nginx-детали
      контейнеры:
        - имя: nginx
          изображение: uday1kiran/начало работы:1.0 #nginx
          imagePullPolicy: Ифноптресент
          порты:
            - контейнерПорт: 3000 #80
              имя: nginx-порт
          #контекст безопасности:
              #runAsUser: 1000

Для шлюза я установил службу kubernetes по умолчанию как ClusterIP. Но, поскольку он не отображается, в целях тестирования я изменил его на LoadBalancer, чтобы проверить любую проблему с приложением, но через обычный сервис LoadBalancer он загружается, но не через входной шлюз istio.

Пример приложения является общедоступным изображением, вы можете протестировать его напрямую.

источник код приложения находится в папке приложения репо

uday avatar
флаг ke
Первое изображение — это IP-адрес службы балансировки нагрузки. второе изображение - IP-адрес входного шлюза. Поскольку это развернуто в AKS, я получил общедоступные IP-адреса от Microsoft.
uday avatar
флаг ke
Любые предложения по этому поводу? Я предполагаю, что внутренне он не разрешает рендеринг страницы, здесь, в данном случае, это реагирующее приложение, которое не загружается обратно.
uday avatar
флаг ke
На дискуссионном форуме istio также нет ответа: https://discuss.istio.io/t/istio-gateway-not-loading-the-node-application/10945
Mikołaj Głodziak avatar
флаг id
Вы используете Consul или Istio? Кроме того, вы пытались изменить http-соответствие с «точного» на «префикс»? Кроме того, не могли бы вы предоставить определение типа службы Loadbalancer и целевых портов для обоих определений службы?
uday avatar
флаг ke
Мы используем консул для одного продукта в другом кластере и для другого проекта. И использование istio для одного продукта. И изменился на префикс, но все еще не загружается. Исходный код этого тестового приложения доступен по ссылке, которую я разместил в последней строке.
Mikołaj Głodziak avatar
флаг id
Ссылка с исходным кодом не работает, перенаправляет на "about:blank#blocked".
Рейтинг:0
флаг jp

Я воспроизвел вашу проблему, и все работает нормально после изменения http-соответствия с «точного» на «префикс» в виртуальном сервисе, вот доказательство: введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Wytrzymały Wiktor avatar
флаг it
Привет @uday. Какой-либо прогресс?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.