Как развернуть full-stack приложение в Kubernetes-кластере
Я решаю учебные задачки на таком стеке: бэкенд на Java + Spring Boot, фронтенд на AngularJS или Angular.
(1) Находил общую схему full-stack приложения в одном видео. Там описывается так:

Вот есть архитектура Frontend и Backend. Frontend-сервер это обычный web-сервер, например NGINX. Ну и далее в зависимости от запроса: если от клиента пришёл запрос за статическим документом (за картинкой, стилем, файлом) => такой запрос направляется сразу на диск. Т.е. frontend-сервер даёт этот запрос с диска. Если же пришёл запрос за HTML-страничкой, которой нет на диске, тогда frontend-сервер передаёт этот запрос на backend-сервер. Причём при этом осуществляется балансировка нагрузки - т.е. frontend выбирает тот backend-сервер, который в данный момент меньше всего нагружен. Ну тут вроде всё ясно, это простая схема, тут про контейнеры/docker/k8s речи вообще не идёт.
(2) Далее пытаюсь понять, как это всё развернуть в Кубернетес-кластере. Например k8s-кластер в облаке AWS, или локальный кластер minikube или kind. Смог нагуглить видео, где в k8s кластер разворачивается только бэкенд, т.е. микросервис на Spring Boot. Схема такая:

Т.е. вот на входе у нас ingress-controller, для него мы прописываем ingress-rules где указываем какой запрос в какой сервис идёт (в общем случае сервисов может быть больше чем 1). Сервис распределяет нагрузку между подами (внутри пода контейнер с микросервисом). Т.е. в этом примере сущность Сервис является балансировщиком нагрузки. Для всех 3 сущностей: deployment, service, ingress прописываю конфиги в формате yaml. Сам микросервис на Spring Boot максимально простой: получает GET-запрос и выдаёт список сущностей, т.е. один метод findAll() реализован. В итоге тут никакой фронтенд вообще не нужен. Пишу запрос в адресную строку браузера и смотрю ответ.
(3) И теперь сам вопрос: а как мне нормальное full-stack приложение развернуть в Кубернетес-кластере? Я не могу нагуглить пример, не получается. Может есть пример в каком нибудь учебнике, или ещё где. Ну или просто словами схему опишите. Там может 2 разных кубернетес-кластера надо делать: 1 для бэкенда и второй для фронтенда. Или всё надо в один кластер пихать. Не могу понять как сделать.