kubernetes - 让 Istio 忽略同一部署中两个容器之间的连接
问题描述
我有一个带有两个容器的 OpenShift 部署:主 java 应用程序和一个对主应用程序进行 jmx 监控的自定义边车。因此,当我不注入 Istio sidecar(带有注释 sidecar.istio.io/inject: 'false')时,一切都按我的预期工作,并且 jmx sidecar 可以建立连接。但是当我注入 Istio sidecar 时,我遇到了连接问题。
有如下注释:
- traffic.sidecar.istio.io/excludeInboundPorts
- traffic.sidecar.istio.io/excludeOutboundPorts
- traffic.sidecar.istio.io/includeInboundPorts
但它们似乎不起作用,至少在我的情况下,我找不到太多关于它们的信息。
这是我的部署 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 拦截?
解决方案
防止代理拦截流量,基本上意味着从网格中排除该服务。只需不要注入 sidecar(因此,将该服务保留在网格之外),然后创建一个ServiceEntry
.
推荐阅读
- generator - snmp_exporter 无法生成 snmp.yml
- android - 100% “google.play.games.games.v1.Applications.RecordApplicationActivity” 一个月以来
- database - 增加 max_stack_depth
- python - 从不同的 numpy 数组创建 Pandas Dataframe;一列应该包含我数组中的一行
- curl - libcurl发起https请求时,客户端hello不携带session ticket字段
- c# - 错误:NU1100:无法为“net5.0”解析“MicrosoftOfficeCore (>= 15.0.0)”
- python-3.x - UnicodeDecodeError:“utf-8”编解码器无法解码位置 1057 中的字节 0xfc:无效的起始字节
- opentk - 如何在 OpenTk 的 Glcontrol 中移动图像
- amazon-web-services - 用例会在 dynamodb 中执行完整扫描还是索引扫描?
- list - 如何修复 Python 中的“索引超出范围”错误?