Как поддержать зонд готовности / жизнеспособности Kubernetes с помощью перенаправления Ocelot API Gateway?
Я пытаюсь использовать Ocelot в качестве шлюза для кластера K8S и в идеале хотел бы использовать датчики готовности / живучести. Но каждый способ, которым я пытаюсь заставить Ocelot обрабатывать конечную точку зонда, приводит к проблемам:
- Если я не создаю для него маршрут, Ocelot возвращает 404
- Если я перенаправлю конечную точку обратно к себе, Оцелот попадет в бесконечный цикл
- Если я перенаправлю конечную точку в существующее местоположение, которое не перенаправлено само, Ocelot возвращает 404
Есть ли способ, чтобы Ocelot разрешил доступ к конечной точке, находящейся в той же службе?
1 ответ
Решение
Я узнал, как это сделать. Это на самом деле очень просто: вы просто внедряете промежуточное ПО MVC в конвейер раньше, чем промежуточное ПО Ocelot, и MVC будет обрабатывать запросы к внутренним конечным точкам до того, как Ocelot их увидит.
app.UseMvc();
app.UseOcelot().Wait();