#rest #go #kubernetes #kubernetes-pod
#rest #Вперед #kubernetes #kubernetes-pod
Вопрос:
Развернул rest API (go lang) в кластере kubernetes, а также создал службу для модуля.
мне нужно получить доступ к rest API через имя службы или URL-адрес службы?
Ответ №1:
Это зависит от того, откуда вы получаете доступ к сервису.
Если вы получаете доступ с узлов кластера kubernetes, вы можете получить доступ через service IP; curl <service-ip>
должен предоставить доступ к вашему rest API.
Если вы обращаетесь к службе из другого модуля, вы можете использовать внутреннее разрешение DNS kubernetes. Что-то вроде curl <service-name>.<namespace>.svc.cluster.local
должно получить доступ к вашему rest API.
Если вы хотите получить доступ к rest API за пределами кластера, вам понадобится балансировщик нагрузки с IP-адресом внешней сети кластера (сети, в которой находится кластер). Если вы развернули кластер локально, вы можете рассмотреть возможность использования metallb для управления внешними IP-адресами. Если кластер развернут в облаке, вы можете использовать предоставленные облаком IP-адреса.
Комментарии:
1. Это сработало, когда я использовал IP-адрес службы curl. Но curl возвращает ошибку в ‘<service-name>.<namespace>.svc.cluster.local’. Ошибка следующего вида: curl: (6) Не удалось разрешить узел: app2-service.default.svc.cluster.local; Неизвестная ошибка.
2. есть ли какой-либо способ получить доступ к службе с именем службы?