首页 > 解决方案 > 让 Istio 忽略同一部署中两个容器之间的连接

问题描述

我有一个带有两个容器的 OpenShift 部署:主 java 应用程序和一个对主应用程序进行 jmx 监控的自定义边车。因此,当我不注入 Istio sidecar(带有注释 sidecar.istio.io/inject: 'false')时,一切都按我的预期工作,并且 jmx sidecar 可以建立连接。但是当我注入 Istio sidecar 时,我遇到了连接问题。

有如下注释:

但它们似乎不起作用,至少在我的情况下,我找不到太多关于它们的信息。

这是我的部署 yaml,其中包含适用于“false”且不适用于“true”Istio sidecar 注入选项的相关信息

apiVersion: apps/v1beta1
kind: Deployment
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: 'true'
    spec:
      containers:
      - image: mainjavaappsource
        ports:
            - containerPort: 9090
      - image: jmxsidecarsource
      dnsPolicy: ClusterFirst

所以问题是 - 如何排除同一部署中容器之间的连接被 Istio sidecar 拦截?

标签: kubernetesopenshiftistio

解决方案


防止代理拦截流量,基本上意味着从网格中排除该服务。只需不要注入 sidecar(因此,将该服务保留在网格之外),然后创建一个ServiceEntry.


推荐阅读