Я настраиваю Istio в новом кластере AWS EKS и создаю базовое развертывание nginx для тестирования. Когда развертывание имеет только одну реплику, оно работает отлично, отвечая менее чем за 100 мс.
Когда я добавляю одну реплику, время отклика нового модуля увеличивается как сумасшедшее, в среднем около 10 секунд.
Основываясь на предложениях из других источников, я обновил конфигурация сетки чтобы отключить автоматические повторы:
конфигурация сетки:
defaultHttpRetryPolicy: {}
После того, как это произошло, я обнаружил, что запросы ко второму поду всегда терпят неудачу:
"GET / HTTP/1.1" 503 UF upstream_reset_before_response_started{connection_failure} - "-" 0 91 10003 - "108.249.9.111,10.1.0.117" "curl/7.68.0" "6fa51be8-1441-4454-8d 1b-a03c93b257dc"" example.com" "10.1.52.62:80" исходящий |80||nginx.my-namespace.svc.cluster.local - 10.1.108.189:8080 10.1.0.117:21410 - -
Моя установка следующая:
# AWS ALB Ingress -> istio-ingressgateway (ClusterIP) -> шлюз -> виртуальный сервис -> сервис -> nginx
Версия API: networking.istio.io/v1beta1
вид: Шлюз
метаданные:
имя: по умолчанию
спецификация:
селектор:
istio: входной шлюз
серверы:
- порт:
номер: 80
имя: http
протокол: HTTP
хосты:
- "*"
---
Версия API: networking.istio.io/v1beta1
вид: виртуалсервис
метаданные:
имя: нгинкс
спецификация:
хосты:
- "example.com"
шлюзы:
- По умолчанию
http:
- маршрут:
- пункт назначения:
хост: nginx
---
апиВерсия: v1
вид: сервис
метаданные:
имя: нгинкс
этикетки:
приложение: nginx
спецификация:
селектор:
приложение: nginx
порты:
- порт: 80
имя: http
---
apiVersion: приложения/v1
вид: развертывание
метаданные:
имя: нгинкс
этикетки:
приложение: nginx
версия: v1
спецификация:
реплики: 2
ревизияHistoryLimit: 1
селектор:
метки соответствия:
приложение: nginx
версия: v1
шаблон:
метаданные:
этикетки:
приложение: nginx
версия: v1
спецификация:
контейнеры:
- имя: nginx
изображение: nginx: последний
порты:
- контейнерПорт: 80
Ресурсы:
Запросы:
память: 100Ми
процессор: 100 м
пределы:
память: 1500Ми
процессор: 1000 м
Версии:
$ istioctl версия
версия клиента: 1.13.2
версия плоскости управления: 1.13.2
версия плоскости данных: 1.13.2 (1 прокси)
$ версия kubectl --short
Версия клиента: v1.21.11
Версия сервера: v1.21.5-eks-bc4871b