Как сделать RESTFUL API через имя службы kubernetes - PullRequest
0 голосов
/ 08 мая 2020

У меня есть этот способ получить информацию о пользователе. Я знаю, что если я использую действительный URL-адрес (i.e. http://url.to.access)

, мой getuserinfo() работает.

Есть ли способ использовать имя службы kubernetes для вызова GET-запроса с моим приложение загрузки speing? (i.e. <pod-name>.<namespace>.svc)

userInfoUrl происходит из property.yaml:

  @Value("${auth.userinfoUrl}")
  private String userInfoUrl;

Метод получения информации о пользователе:

 public ResponseEntity<String> getUserInfo(String accessToken) {

    if (!StringUtils.hasText(accessToken)) {
      throw new InvalidAccessTokenException("Invalid accessToken.");
    }

    // Set authorization header with access token
    HttpHeaders headers = new HttpHeaders();
    headers.set("Authorization", "Bearer " + accessToken);

    HttpEntity<String> entity = new HttpEntity<>(headers);

    // Does url param tagging based on param given.
    UriComponentsBuilder builder =
        UriComponentsBuilder.fromHttpUrl(userInfoUrl);

    // Call auth server to get user info.
    return restTemplate.exchange(builder.toUriString(), HttpMethod.GET, entity, String.class);
  }

1 Ответ

3 голосов
/ 08 мая 2020

Создайте тип ClusterIP service перед модулями, отвечающими за приложение userinfo. Затем вы можете использовать servicename.namespacename.svc.cluster.local из любого пространства имен или просто servicename из того же пространства имен для доступа к нему в приложении весенней загрузки.

...