`ошибка восходящего соединения или отключение / сброс перед заголовками` при использовании istio-ingress-gateway
Я проверял свой вход и удалил следующие два шлюза для целей тестирования.
kubectl delete gateway istio-autogenerated-k8s-ingress -n istio-system
kubectl delete gateway istio-system-gateway -n istio-system
Так как, тогда у меня эта ошибка upstream connect error or disconnect/reset before headers
для любого URL я получаю доступ через ingress-gateway
,
Это связано и, если да, как я могу настроить их снова? Если нет, как я могу отладить это?
Я попытался переустановить istio, следуя этому https://cloud.google.com/kubernetes-engine/docs/tutorials/installing-istio. Однако это не сработало, и оба шлюза не были восстановлены.
2 ответа
Как отмечено здесь, вы должны проверить, правильно ли помечено ваше пространство имен с помощью istio-инъекций = включено
kubectl describe ns <your namespace>
если нет, добавьте правильную метку:
kubectl label namespace <your namespace> istio-injection=enabled
Вы всегда можете переустановить один и тот же выпуск Istio, выполнив kubectl apply -f [...]
шаг файлов выпуска Istio, как указано в руководстве. Это должно восстановить те удаленные системные объекты.
Sidenote: никогда, никогда не удаляйте вещи из пространства имен с именем *-system
,
Вы можете отладить это, просмотрев логи контейнера istio-ingressgateway.
Скорее всего, это несоответствие порта, что приложение, работающее в DOCKER, не совпадает с портом, указанным в конфигурации DOCKER
Файл Docker EXPOSE <PORT>
должен быть таким же, как порт, на котором запущено приложение.
Шлюз Istio Ingress может подключаться к порту контейнера, но не взаимодействовать с приложением.