Чтобы «родной» способ сделать на Istio то, что вы хотите, вам придется подождать.Команда посланников добавила пользовательские сообщения об ошибках как этап выпуска версии 1.9.0.Надеюсь, они включат его в релиз, и мы получим его к концу года.Так что мы сможем использовать его на Istio.https://github.com/envoyproxy/envoy/issues/1178
Что касается пользовательских подходов, вы можете использовать nginx (в том же модуле), который обслуживает эти пользовательские страницы ошибок перед любым пользовательским приложением.Вы не сможете изменить некоторые ошибки, например, 503 или 404, выданные самим прокси-сервером Envoy.
(пока не работает, см. Ниже). Другой подход, если вам нужно также настроить ошибки, предоставляемые Envoy, будетиспользовать nginx-ingress-controller, который может обслуживать пользовательские страницы ошибок вместе с Istio.Если вы хотите попробовать, посмотрите на эту проблему и на ту, на которую они ссылаются в первом комментарии, это может быть полезно.https://github.com/kubernetes/ingress-nginx/issues/2126
Обновление 21 ноября 2018
Чтобы этот подход работал, вам также придется подождать.(вероятно, больше, чем с посланником) Я сам проверил это и столкнулся с проблемой, которую nginx должен решить, чтобы заставить это работать.Когда вы определяете бэкэнд по умолчанию, nginx получает конечные точки (ip: port) от службы kubernetes напрямую, а затем пытается получить доступ к этим IP-адресам в кластере.Вместо того, чтобы обращаться по имени и позволять Istio маршрутизировать это соединение, именно так оно и должно работать.
Посмотрите на это https://github.com/kubernetes/ingress-nginx/issues/2318