在安装Istio时,我需要将Istio Ingressgateway(网关对象)的“主机”从默认值“ *”更改为“任何”。我们正在使用IstioOperator进行安装的自定义。 我认为应该使用 k8s叠加
...
k8s:
overlays:
- kind: Gateway
name: istio-ingressgateway
patches:
- path: spec.servers.??????
value: whatever
...
path属性的表达式应该是什么?
我在https://github.com/istio/istio/blob/master/operator/pkg/patch/patch.go上找到了一些信息,但情况并不完全相同。
因此,名称空间istio-system中的istio-gateway网关对象应更改为
spec:
servers:
- hosts:
- '*'
port:
name: http
number: 80
protocol: HTTP
到
spec:
servers:
- hosts:
- whatever
port:
name: http
number: 80
protocol: HTTP
我们正在使用Istio 1.5.6
谢谢!
使用工作示例进行更新
向@Jakub致谢,以指示我正确的方向。
overlays:
- kind: Gateway
name: istio-ingressgateway
patches:
- path: spec.servers[0]
value:
hosts:
- whatever.dummy
port:
name: http
number: 80
protocol: HTTP
答案 0 :(得分:1)
我将其发布为社区Wiki答案,以提高可见度。
与此类似,{@ {3}}带有@Jens Wurm提供的答案和代码示例。
这是覆盖的一部分,它将添加带有某些示例规格的另一个服务器条目。只需将其调整为您想要的方式即可。您还可以使用spec.servers [0]路径覆盖第一个服务器条目,然后将该值设置为所需的值。
ingressGateways:
- enabled: true
k8s:
overlays:
- apiVersion: networking.istio.io/v1alpha3
kind: Gateway
name: ingressgateway
patches:
- path: spec.servers[1]
value:
hosts:
- '*.example.com'
port:
name: https
number: 443
protocol: HTTPS
tls:
credentialName: example-cert
mode: SIMPLE
privateKey: sds
serverCertificate: sds
还有@Peter Claes提供的工作示例
overlays:
- kind: Gateway
name: istio-ingressgateway
patches:
- path: spec.servers[0]
value:
hosts:
- whatever.dummy
port:
name: http
number: 80
protocol: HTTP