我们希望使用Istio入口网关将https流量路由到httpsendpoint。
我们在入口网关终止TLS流量,但我们的后端服务也使用https。
我有以下清单:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: datalake-dsodis-istio-gateway
spec:
selector:
istio: ingressgateway
servers:
- hosts:
- "gw-hdfs-spark.dsodis.domain"
- "spark-history.dsodis.domain"
port:
name: https-wildcard
number: 443
protocol: HTTPS
tls:
mode: SIMPLE
serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
privateKey: /etc/istio/ingressgateway-certs/tls.key
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: gw-spark-history-istio-vs
spec:
gateways:
- default/datalake-dsodis-istio-gateway
hosts:
- "spark-history.dsodis.domain"
http:
- match:
- uri:
prefix: /
route:
- destination:
host: gateway-svc-clusterip.our_application_namespace.svc.cluster.local
port:
number: 8443
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: originate-tls-for-spark-history
spec:
host: gateway-svc-clusterip.our_application_namespace.svc.cluster.local
trafficPolicy:
loadBalancer:
simple: ROUND_ROBIN
portLevelSettings:
- port:
number: 8443
tls:
mode: SIMPLE
问题很可能是,我们正在向HTTPS后端发送TLS终止的流量(也就是说)HTTP流量。因此,通过Istio访问服务时,我们可能会发现503服务不可用。
访问它的命令是:
curl -vvvv -H"Host: spark-history.dsodis.domain" --resolve "spark-history.dsodis.domain:31390:IP" https://spark-history.dsodis.domain:31390/gateway/default/sparkhistory -k
我的问题是,我如何告诉Istio使用https将流量路由到后端服务?
提前谢谢。
最好的问候,罗福伯格
我有一个在kubernetes pod中运行的应用程序(在我的本地docker桌面上,启用kubernetes),监听端口8080。然后我有以下kubernetes配置 这个很好用。但我想把443端口改成其他端口,比如8443(因为我将有多个网关)。当我有这个,我不能再访问应用程序了。是否有一些配置我遗漏了?我猜我需要配置Istio来接受8443端口?我使用以下命令安装了istio: 编辑:我读了
我一直在玩弄我的Istio集群配置,结果我陷入了无法调试的状态。 我有一个配置了公共IP的SDS网关。我已经在端口5000上部署了Istio HelloWorld应用程序。我可以: 在pod和上执行——这很好用 从以下位置使用istioctl proxy config cluster检查https://istio.io/docs/ops/troubleshooting/network-issues
当我在我的服务器上用wget、curl或python爬行谷歌搜索引擎时,我遇到了一个非常奇怪的问题。Google将我重定向到以[ipv4 | ipv6]开头的地址。谷歌。fr/抱歉/索引重定向。。。最后发送503错误,服务不可用。。。 有时抓取工作正常,有时不是在白天,我尝试了几乎所有可能的方法:强制ipv4/ipv6而不是主机名、引用者、用户代理、vpn、. com/. fr/、代理和tor,.
从外部客户端到库伯内特斯集群内的服务器的TLS握手失败。这是关于理解为什么。 我已经配置了一个Istio入口网关,以通过端口15433上接收的TLS,并将其路由到端口433上的服务器。 当客户端尝试TLS握手时,入口网关日志显示活动,但不显示服务器日志,也不显示istio代理日志。 TLS客户端: 日志 Istio入口网关日志: 其中192.168.101.136是myservice pod的IP
这起作用了 这不是
我很难理解Istio网关端口到底是如何使用的。我指的是下面例子中的第14行 从Istio文档中: 代理应在其上侦听传入连接的端口。因此,如果您应用上面的yaml文件并检查istio-ingress网关pod以监听TCP端口,您会发现实际上使用了端口8169(见下面的输出) 但棘手的部分来了。如果在应用Gateway之前更改istio-ingress网关服务如下: 然后应用网关,实际使用的端口不是8