You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Istio注入Sidecar后Pod间HTTPS通信失败求助

问题描述

我创建了两个命名空间,一个开启Istio Sidecar注入,另一个未开启。在两个命名空间中均通过以下YAML部署简单Nginx服务器:

apiVersion: v1
kind: Service
metadata:
  name: software-upgrader
  labels:
    app: software-upgrader
    service: software-upgrader
spec:
  ports:
    - name: http
      port: 25301
  selector:
    app: software-upgrader
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: software-upgrader
spec:
  selector:
    matchLabels:
      app: software-upgrader
      version: v1
  template:
    metadata:
      labels:
        app: software-upgrader
        version: v1
    spec:
      containers:
      - image: gcr.io/mesh7-public-images/scalability/nginx
        imagePullPolicy: IfNotPresent
        name: software-upgrader
        resources:
          limits:
            cpu: 20m
            memory: 32Mi
          requests:
            cpu: 20m
            memory: 32Mi

随后按照HTTPS服务器部署步骤在两个命名空间部署HTTPS服务器,从其他Pod发起curl请求测试:未注入Sidecar的Pod请求返回200 OK,而注入Sidecar的Pod请求返回错误:

curl: (56) OpenSSL SSL_read: error:1409445C:SSL routines:ssl3_read_bytes:tlsv13 alert certificate required, errno 0
command terminated with exit code 56

请问是否需要创建ServiceEntry或VirtualService才能让注入Istio的同命名空间Pod间实现HTTPS通信?


解答

不需要创建ServiceEntry或VirtualService来实现同命名空间下注入Sidecar的Pod间HTTPS通信,问题根源在于Istio Sidecar的流量拦截逻辑:

  • 注入Sidecar的Pod,所有出站流量会被Sidecar接管。若你的HTTPS服务器使用自定义证书,Sidecar默认会尝试终止TLS连接再重新发起请求,但因未信任该自定义证书,导致证书验证失败,触发报错。
  • 未注入Sidecar的Pod直接发起HTTPS请求,不受Sidecar拦截,因此能正常返回200。

可通过以下方式解决:

  • 透传HTTPS流量:为目标服务配置DestinationRule,禁用Sidecar的TLS终止,让流量直接透传至HTTPS服务器:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: software-upgrader
spec:
  host: software-upgrader.<你的命名空间>.svc.cluster.local
  trafficPolicy:
    tls:
      mode: DISABLE
  • 信任自定义证书:将HTTPS服务器的证书添加到Istio的信任根集合中,或通过DestinationRule配置Sidecar使用指定证书验证服务器身份。
  • 启用Istio自动双向TLS:放弃自定义HTTPS配置,依赖Istio自动为服务间通信提供加密,无需手动管理证书。

内容的提问来源于stack exchange,提问作者Pradeep Padmanaban C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:26:28