Как создать входящий трафик на сервисе istio для работы в облаке anthos (knative)

Я работаю над Cloud Run Anthos в GCP и размещаюсь в кластере GKE.

Который я слежу за этим qwiklabs для изучения Cloud Run Anthos,

https://www.qwiklabs.com/focuses/5147?catalog_rank=%7B%22rank%22%3A6%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id7054914

Пример из практической лаборатории. Они использовали команду ниже, чтобы проверить, работает ли служба.

curl -H Host : <URL> <IP_CLUSTER>

И мне интересно, как используется реальность. Никто не добавляет Хост в каждый запрос к работе.
У меня вопрос, есть ли возможность решить эту проблему? Я просто хочу использовать запрос вызова от браузера или любого приложения, но не уверен, что это возможно?

Я нашел ресурсный документ об Istio Ingress, который также использовался в примере qwiklab.
Это о VirtualSerivce, и, похоже, у меня есть Istio Ingress перед сборкой этот прокси.
Это правильный способ устранения неполадок?

https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRewrite


person zzob    schedule 23.09.2020    source источник


Ответы (1)


Вы можете изменить карту конфигурации config-domain в пространстве имен Knative. вы можете увидеть такую ​​конфигурацию

kubectl describe configmap config-domain --namespace knative-serving

Тогда вы можете обновить его вот так

  • Создайте файл конфигурации в файле config-domain.yaml (например)
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-domain
  namespace: knative-serving
data:
  gblaquiere.dev: ""
  • Применить конфигурацию
kubectl apply -f config-domain.yaml

подробнее здесь

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

Команда curl -H Host ... - это обман, позволяющий солгать контроллеру Istio и сказать ему: "Да, я пришел оттуда". Если вы действительно пришли оттуда (ваше собственное доменное имя), не нужно жульничать!

person guillaume blaquiere    schedule 23.09.2020
comment
что означает эта строка gblaquiere.dev: "" - person zzob; 24.09.2020
comment
Итак, если я применяю карту конфигурации, я могу получить доступ к модулю с IP-доменом через браузер? - person zzob; 24.09.2020
comment
Что вы имеете в виду под IP-доменом? Если вы зарегистрируетесь в DNS my-service.-my-namespace.mydomain.com A <IP of load balancer> и установите mydomain.com в карте конфигурации, вы сможете получить доступ к своей службе, потому что HOST в заголовке запроса является правильным. - person guillaume blaquiere; 24.09.2020
comment
Извините за недопонимание, я просто хочу получить доступ через IP-кластер (LoadBalancer) в браузере. Это возможно ? - person zzob; 24.09.2020
comment
Не напрямую, вы должны представить свой запрос с правильным хостом, чтобы позволить контроллеру Istio направить запрос к правильной службе. Вам нужно доменное имя и регистрация в регистраторе DNS. Или настроить код на стороне клиента для переопределения заголовка хоста. - person guillaume blaquiere; 24.09.2020
comment
Я прочитал документы (выше commet), они пытаются разрешить клиенту доступ к службе через браузер. Что позволяет всем хостам правильно обслуживать? - person zzob; 24.09.2020
comment
Я думаю, что вы не можете этого сделать с Knative (и особенно с дополнением Cloud Run для GKE), но вы на пределе моих знаний! - person guillaume blaquiere; 24.09.2020