我正在使用istio sidecar自动注入,我有grpc transcrpter Envoy Fliter,它需要一个文件安装在Azure的共享驱动器上。但是side car无法挂载该目录,因为我的吊舱中有挂载配置。< / p>
apiVersion:networking.istio.io/v1alpha3类型:EnvoyFilter元数据: 名称:{{.Values.filter.name}}命名空间:{{.Values.namespace}}
spec:workloadLabels:app:{{.Values.grpc.appname}}过滤器:
listenerMatch:端口号:50051侦听器类型:SIDECAR_INBOUND listenerProtocol:HTTP insertPosition:索引:FIRST relativeTo: envoy.router filterName:envoy.grpc_json_transcoder filterType:HTTP filterConfig:protoDescriptor:{{.Values.storage.mount}} / {{ .Values.filter.file}}服务:com.demo.DemoService printOptions: alwaysPrintPrimitiveFields:真
我的pod文件中有
volumeMounts: -mountPath:{{.Values.storage.mount}}名称:{{.Values.storage.volume}}
和
卷: -名称:{{.Values.storage.shareume}} azureFile:secretName:{{.Values.storage.secret}} shareName:{{.Values.storage.shareName}} readOnly:是
特使筛选器抱怨选择此文件,因为找不到路径。
为解决此问题,我禁用了Auto istio侧车注入,并根据以下说明添加了安装座。 https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/
答案 0 :(得分:0)
我认为在您的特定情况下,您仍然可以依靠自动istio-sidecar-injector,并使用要进行注射的Pod的sidecar.istio.io/userVolume
注释。顾名思义,它使您可以在sidecar-injector模板中以JSON格式配置用户定义的卷。
您可以找到其用法here的示例。