サーバー証明書検証なし(ポートレベル)

このメッセージは、デスティネーションルールに`caCertificates`が設定されていないが、トラフィックポリシーに必要な場合に発生します。

このメッセージが表示されるのは

Error [IST0129] (DestinationRule db-tls.default) DestinationRule default/db-tls in namespace default has TLS mode set to SIMPLE but no caCertificates are set to validate server identity for host: mydbserver.prod.svc.cluster.local at port number:443

クラスタに次のデスティネーションルールがある場合です

apiVersion: networking.istio.io/v1
kind: DestinationRule
metadata:
  name: db-tls
spec:
  host: mydbserver.prod.svc.cluster.local
  trafficPolicy:
    portLevelSettings:
      - port:
          number: 443
        tls:
          mode: SIMPLE
          clientCertificate: /etc/certs/myclientcert.pem
          privateKey: /etc/certs/client_private_key.pem
          sni: my-nginx.mesh-external.svc.cluster.local
          # caCertificates not set

この例では、デスティネーションルール`db-tls`はTLSを指定していますが、CA証明書ファイルを設定していません。

解決方法

  • CA証明書のファイル名を指定します
  • 証明書が不要になるようにトラフィックポリシーを変更します