我已经使用 let encrypt 证书配置了 istio ingress。我可以通过使用网关和虚拟服务访问在不同端口上运行的 https 上的不同服务。
但是 kubernetes-dashboard 在 kube-system 命名空间中的 443 端口上运行并使用自己的证书,我如何通过 istio 网关和虚拟服务公开它。
我已经为仪表板定义了子域并创建了网关、虚拟服务,它正在将 443 流量定向到 kuberentes 仪表板服务,但它不起作用。
我已经使用 let encrypt 证书配置了 istio ingress。我可以通过使用网关和虚拟服务访问在不同端口上运行的 https 上的不同服务。
但是 kubernetes-dashboard 在 kube-system 命名空间中的 443 端口上运行并使用自己的证书,我如何通过 istio 网关和虚拟服务公开它。
我已经为仪表板定义了子域并创建了网关、虚拟服务,它正在将 443 流量定向到 kuberentes 仪表板服务,但它不起作用。
听起来您想配置一个入口网关来执行 SNI 直通而不是 TLS 终止。您可以通过将网关配置中的 tls 模式设置为 PASSTHROUGH 来做到这一点,如下所示:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: dashboard
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 443
name: https-dashboard
protocol: HTTPS
tls:
mode: PASSTHROUGH
hosts:
- dashboard.example.com
可以在此处找到完整的直通示例。