使用Helm模板循环创建Istio Service Entry仅生成最后一个的问题
解决Helm模板仅生成最后一个Istio Service Entry的问题
问题出在你的模板未在每个生成的Service Entry资源之间添加Kubernetes资源分隔符---,导致所有内容被合并为单个YAML文档,Kubernetes仅会处理最后一个资源。
修改后的Helm模板代码如下:
{{- range $key, $val := .Values.serviceentry }} apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: {{ $key }} namespace: mytest spec: hosts: - {{ $val | quote }} location: MESH_EXTERNAL ports: - name: tcp1433 number: 1433 protocol: TCP - name: udp1434 number: 1434 protocol: UDP resolution: DNS --- {{- end }}
添加---后,Helm会渲染出三个独立的YAML资源块,每个块对应一个Service Entry,Kubernetes就能正确识别并创建全部三个资源。
内容的提问来源于stack exchange,提问作者tonyli1
相关产品推荐
相关产品推荐

