Изначально развернутый модуль pod не может получить доступ через браузер изначально, но после выполнения команды curl в кластере k8s я могу получить доступ в браузере - PullRequest
0 голосов
/ 25 октября 2019

Я хочу получить доступ к браузеру в первый раз без выполнения команды curl, Примечание. Начальные команды, такие как команды экспорта IP-адреса и config-map, выполняются успешно.

apiVersion: serving.knative.dev/v1alpha1 
kind: Service
metadata:
  name: helloworld-go # The name of the app
  namespace: default # The namespace the app will use
spec:
  runLatest:
    configuration:
      revisionTemplate:
        spec:
          container:
            image: gcr.io/knative-samples/helloworld-go 
            env:
              - name: TARGET 
                value: "Go Sample v1"

Я не получаю никакой ошибки. Я ожидаю, что мой модуль будет создан автоматически, когда я запрашиваю свой URL с помощью браузера.

1 Ответ

0 голосов
/ 25 октября 2019

При использовании Knative рекомендуется направлять все ваши запросы через входной шлюз, поэтому вы должны использовать дополнительные возможности, предоставляемые Knative, такие как автоматическое масштабирование (если модули уменьшены до 0)

Служба Kubernetes, расположенная внизу, используется просто как механизм для сбора всех конечных точек запущенных модулей. Если нет работающих модулей, они не могут масштабироваться и будут возвращать ответ по умолчанию, если не будет никаких серверных частей.

Проблема, с которой вы столкнулись, заключается именно в этом, при использовании службы Kubernetes нет работающих модулей. Вам нужно использовать входной шлюз. Для этого захватите его IP, выполнив следующую команду:

kubectl get svc -n istio-system \
  -l app=istio-ingressgateway \
  -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}'

И используйте этот IP в своем браузере. Непосредственная проблема, с которой вы столкнетесь, заключается в том, что входящий шлюз маршрутизирует на основе заголовка, а у вас отсутствует заголовок. По этой причине установите расширение Chrome, которое добавляет заголовок к запросу (я использую ModHeader).

После добавления заголовка в расширение Chrome (в вашем случае «Host: helloworld.default.example.com») открыв IP, вы доберетесь до своего стручка, даже если он не работает.

...