我有一个sidecar,它只允许正在部署的名称空间上的出口流量。这也限制了外部呼叫。有没有一种方法可以将外部主机添加到sidecar中,例如:
apiVersion: "networking.istio.io/v1beta1",
kind: "Sidecar",
metadata:{
name: "egress-sidecar",
namespace: "namespace",
},
spec:{
workloadSelector:{
labels:{
app: 'target_app'
}
},
egress:[
{
hosts:[
"namespace/*",
"google.com/*" # <--- something like this, this does not work
]
}
],
outboundTrafficPolicy:{
mode: "REGISTRY_ONLY"
}
}
发布于 2021-11-05 12:14:54
我认为你至少需要一个外部服务的ServiceEntry (https://istio.io/latest/docs/reference/config/networking/service-entry/) (例如www.google.com),然后你可以在你的Sidecar定义的出口部分引用它。根据您在哪个名称空间中注册提到的ServicEntry,您可以在Sidecar定义的出口部分下的主机部分中定义以下内容:
*/www.google.com (服务网格中的ServiceEntry anywhere )
./www.google.com (ServiceEntry在与Sidecar定义相同的名称空间中)
(https://istio.io/latest/docs/reference/config/networking/sidecar/#IstioEgressListener)
https://stackoverflow.com/questions/69854153
复制相似问题