Пример использования: Мы создали две службы S1 и S2 в кластере k8s. Услуга S2 зависит от услуги S1. S1 создается с типом LoadBalancer, которому требуется доступ за пределами кластера кубернетов. Пользователь будет аутентифицирован только на S2. Итак, пользователь вызывает S2 API, чтобы получить конечную точку S1, которая является не чем иным, как внешним IP.
Используя helm, как передать внешний IP-адрес S1 модулю S2 во время выполнения?
Я попробовал одно решение, вызвав Kubernetes apiserver для получения внешнего IP-адреса внутри модуля, но это неправильное решение, поскольку для получения доступа к API требуется создание роли, а также необходимо ввести сценарий для вызова API-интерфейса в контейнере инициализации.
Это не кажется очень безопасным. Пользователь может кэшировать IP-адрес, а затем получить доступ к S1, даже после удаления его учетной записи, до тех пор, пока IP-адрес не изменится, что может не произойти в течение длительного времени.
Было бы предпочтительнее использовать Ingress вместо LoadBalancer для предоставления S1. Затем хост и путь для S1 могут быть указаны в файле значений объединенной диаграммы, и S2 сможет получить доступ к S1, используя этот внешний хост и путь.

что ты уже испробовал?