我正在尝试使用 wsl2 和 docker Desk 在本地运行 bookinfo 示例。我在尝试通过网关访问 productpage 服务时遇到问题,因为连接被拒绝。我不确定我是否错过了什么。这是我在互联网上搜索了很多之后所做的
- 部署了 bookinfo 示例中的所有服务并全部运行,我可以使用 kubectl exec 从其他服务中卷曲 productpage
- 使用示例中的文件部署 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 可以在 80 上通过 localhost 暴露给外部(不确定如何在 istio 安装期间对其进行配置),据我所知 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 现在是如何工作的。看起来windows浏览器上的localhost和wsl2终端不是一回事,虽然我知道有一种从windows到wsl2服务器的转发(我可以从/etc/resolv.conf获取它的IP)。如果相同,为什么一个返回连接被拒绝,另一个返回 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 在端口 80 上的另一个 http 服务器上运行?
我知道这问了很多问题。相信很多刚接触 istio 和 wsl2 的人可能会有类似的疑问。希望这对其他人也有帮助。请指教。