ПОЛУЧИТЬ URL-имя в Kubernetes - PullRequest
0 голосов
/ 01 апреля 2020

Я использую проект весенней загрузки и развернут в Kubernetes, я хотел бы получить URL модуля,

Я указал Как получить текущий модуль в Kubernetes Java Приложение не работает для меня.

Существуют разные среды (DEV, QA и т. д. c ..), и вы хотите получить URL-адрес динамически, так или иначе?

мой сервис yaml

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
  name: test-service
  namespace: default
spec:
  template:
    metadata:
      annotations:
        autoscaling.knative.dev/metric: concurrency
        # Disable scale to zero with a minScale of 1.
        autoscaling.knative.dev/minScale: "1"
        # Limit scaling to 100 pods.
        autoscaling.knative.dev/maxScale: "100"
    spec:
      containers:
        - image: testImage
          ports:
            - containerPort: 8080

можно ли добавить

valueFrom:
     fieldRef:
     fieldPath: status.podIP

с URL https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#the-downward-api

1 Ответ

0 голосов
/ 01 апреля 2020

В вашем случае речь идет о входном Knative, а не о Kubernetes.

Из части входящего сетевого подключения контракта времени исполнения документации Knative :

Кроме того, следующий базовый набор заголовков HTTP / 1.1 ДОЛЖЕН быть установлен по запросу:

  • Хост - Как указано в RF C 7230, раздел 5.4

Также ДОЛЖНЫ быть установлены следующие заголовки запроса c, определенные для прокси:

  • Переслано - как указано в RF C 7239.

Посмотрите на Заголовки внутри вашего запроса.

Пример для сервлета doGet Метод:

Enumeration<String> headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
  String paramName = (String)headerNames.nextElement();
  out.print("<tr><td>" + paramName + "</td>\n");
  String paramValue = request.getHeader(paramName);
  out.println("<td> " + paramValue + "</td></tr>\n");
}
...