Я пытаюсь запустить пример bookinfo на моем локальном компьютере с помощью wsl2 и docker desk. У меня возникли проблемы при попытке получить доступ к службе страницы продукта через шлюз, поскольку мне было отказано в соединении. Я не уверен, что я что-то пропустил. Вот что я сделал после того, как много гуглил в Интернете
- Развернутые все сервисы из примера bookinfo и все запущено, я могу скрутить страницу продукта из другого сервиса с помощью kubectl exec
- Развернут bookinfo-gateway с использованием файла из примера без каких-либо изменений в пространстве имен по умолчанию.
Name: bookinfo-gateway
Namespace: default
Labels: <none>
Annotations: <none>
API Version: networking.istio.io/v1beta1
Kind: Gateway
Metadata:
Creation Timestamp: 2021-06-06T20:47:18Z
Generation: 1
Managed Fields:
API Version: networking.istio.io/v1alpha3
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.:
f:kubectl.kubernetes.io/last-applied-configuration:
f:spec:
.:
f:selector:
.:
f:istio:
f:servers:
Manager: kubectl-client-side-apply
Operation: Update
Time: 2021-06-06T20:47:18Z
Resource Version: 2053564
Self Link: /apis/networking.istio.io/v1beta1/namespaces/default/gateways/bookinfo-gateway
UID: aa390a1d-2e34-4599-a1ec-50ad7aa9bdc6
Spec:
Selector:
Istio: ingressgateway
Servers:
Hosts:
*
Port:
Name: http
Number: 80
Protocol: HTTP
Events: <none>
Istio-ingressgateway может открываться извне через localhost (не знаю, как это можно настроить, поскольку он развертывается во время установки istio) на 80, который, как я понимаю, будет использоваться bookinfo-gateway kubectl get svc istio-ingressgateway -n istio -система
следуя разделу «Определение входящего IP-адреса и портов» в инструкции.
Мой INGRESS_HOST = 127.0.0.1 и INGRESS_PORT - 80
- curl -v -s http://127.0.0.1:80/productpage | grep -o. *
* Trying 127.0.0.1:80...
* TCP_NODELAY set
* connect to 127.0.0.1 port 80 failed: Connection refused
* Failed to connect to 127.0.0.1 port 80: Connection refused
* Closing connection 0
попробовав этот http://127.0.0.1/productpage в браузере, верните 404. Означает ли это 404, что шлюз вроде вверх, но виртуальный сервис не работает ??
дальнейший вопрос, если он актуален. Я немного запутался, как сейчас работает wsl2. Похоже, что localhost в браузере Windows и терминал wsl2 - это не одно и то же, хотя я знаю, что есть своего рода пересылка из Windows на сервер wsl2 (который я могу получить его IP из /etc/resolv.conf). если это то же самое, почему одно обратное соединение отклонено, а другое возвращает 404
В Windows я попытался отключить IIS или что-либо, работающее на порту 80 (net stop http). Почему-то я все еще что-то вижу, слушает порт 80
netstat -aon | findstr :80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
tasklist /svc /FI "PID eq 4"
Image Name PID Services
========================= ======== ============================================
System 4 N/A
Интересно, это ли является причиной разницы в пункте 7? Как Windows работает на другом http-сервере на 80-м порту?
Я знаю, что мне задают много вопросов. Я считаю, что у многих из нас, плохо знакомых с istio и wsl2, могут возникнуть похожие вопросы. Надеюсь, это поможет и другим. Пожалуйста, порекомендуйте.