Как поддержать зонд готовности / жизнеспособности Kubernetes с помощью перенаправления Ocelot API Gateway?

Я пытаюсь использовать Ocelot в качестве шлюза для кластера K8S и в идеале хотел бы использовать датчики готовности / живучести. Но каждый способ, которым я пытаюсь заставить Ocelot обрабатывать конечную точку зонда, приводит к проблемам:

  1. Если я не создаю для него маршрут, Ocelot возвращает 404
  2. Если я перенаправлю конечную точку обратно к себе, Оцелот попадет в бесконечный цикл
  3. Если я перенаправлю конечную точку в существующее местоположение, которое не перенаправлено само, Ocelot возвращает 404

Есть ли способ, чтобы Ocelot разрешил доступ к конечной точке, находящейся в той же службе?

1 ответ

Решение

Я узнал, как это сделать. Это на самом деле очень просто: вы просто внедряете промежуточное ПО MVC в конвейер раньше, чем промежуточное ПО Ocelot, и MVC будет обрабатывать запросы к внутренним конечным точкам до того, как Ocelot их увидит.

app.UseMvc();
app.UseOcelot().Wait();

Источник: https://github.com/ThreeMammals/Ocelot/issues/681

Другие вопросы по тегам