istio - Istio helm 配置 - istio-ingressgateway 端口配置不起作用(或有意义)
问题描述
我正在使用 helm 创建一个带有自定义 istio-ingressgateway 配置的 YML。请参阅下面的脚本:
#!/usr/bin/env bash
helm template $ISTIO_DIR/install/kubernetes/helm/istio \
--name istio \
--namespace istio-system \
--set gateways.istio-ingressgateway.type=NodePort \
--set gateways.istio-ingressgateway.enabled=true \
--set gateways.istio-ingressgateway.replicaCount=1 \
--set gateways.istio-ingressgateway.ports.targetPort=80 \
--set gateways.istio-ingressgateway.ports.name=http2 \
--set gateways.istio-ingressgateway.ports.nodePort=30000 \
\
--set gateways.istio-ingressgateway.ports.targetPort=443 \
--set gateways.istio-ingressgateway.ports.name=https \
--set gateways.istio-ingressgateway.ports.nodePort=30443 \
\
--set gateways.istio-ingressgateway.ports.targetPort=31400 \
--set gateways.istio-ingressgateway.ports.name=tcp \
--set gateways.istio-ingressgateway.ports.nodePort=31400 \
\
--set gateways.istio-ingressgateway.ports.targetPort=15011 \
--set gateways.istio-ingressgateway.ports.name=tcp-pilot-grpc-tls \
--set gateways.istio-ingressgateway.ports.nodePort=32460 \
\
--set gateways.istio-ingressgateway.ports.targetPort=8060 \
--set gateways.istio-ingressgateway.ports.name=tcp-citadel-grpc-tls \
--set gateways.istio-ingressgateway.ports.nodePort=32027 \
\
--set gateways.istio-ingressgateway.ports.targetPort=15030 \
--set gateways.istio-ingressgateway.ports.name=http2-prometheus \
--set gateways.istio-ingressgateway.ports.nodePort=31926 \
\
--set gateways.istio-ingressgateway.ports.targetPort=15031 \
--set gateways.istio-ingressgateway.ports.name=http2-grafana \
--set gateways.istio-ingressgateway.ports.nodePort=31336 \
> eraseme.yaml
但我得到这个错误:
2018/10/22 12:04:54 警告:端口的目的地是一个表。忽略非表值 [map[nodePort:31380 port:80 targetPort:80 name:http2] map[name:https nodePort:31390 port:443] map[name:tcp nodePort:31400 port:31400] map[port:15011 targetPort:15011 name:tcp-pilot-grpc-tls] map[name:tcp-citadel-grpc-tls port:8060 targetPort:8060] map[name:tcp-dns-tls port:853 targetPort:853] map[name :http2-prometheus port:15030 targetPort:15030] map[name:http2-grafana port:15031 targetPort:15031]] 2018/10/22 12:04:54 警告:端口的目标是一个表。忽略非表值 [map[name:http2 nodePort:31380 port:80 targetPort:80] map[name:https nodePort:31390 port:443] map[name:tcp nodePort:31400 port:31400] map[name:tcp -pilot-grpc-tls 端口:15011 目标端口:15011] 地图[名称:tcp-citadel-grpc-tls 端口:8060 目标端口:8060] 地图[目标端口:853 名称:
我应该如何正确地做到这一点?
解决方案
问题是关于指定数组变量的 Helm 语法。你这样做:
--set gateways.istio-ingressgateway.ports[0].targetPort=80 \
--set gateways.istio-ingressgateway.ports[0].name=http2 \
--set gateways.istio-ingressgateway.ports[0].nodePort=30000 \
\
--set gateways.istio-ingressgateway.ports[1].targetPort=443 \
--set gateways.istio-ingressgateway.ports[1].name=https \
--set gateways.istio-ingressgateway.ports[1].nodePort=30443 \
等,指定数组成员的索引。
推荐阅读
- xampp - 在 xampp 中通常只允许使用每个套接字地址(协议/网络地址/端口)
- c# - 二进制流“111”不包含有效的 BinaryHeader。可能的原因是无效的流或对象版本更改
- python - Ubuntu 服务器上的 Python Selenium webdriver 出现错误 409
- c# - 窗口中的 WPF 用户控件 - 双击时依赖属性值为空
- powershell - 未给予组
- java - 为什么我的方法发现表达式 4 次而不是单个结果?
- azure - Azure IoT 中心部署:缺少默认 eventHub 端点“操作监控事件”
- python - ModuleNotFoundError:安装 pyarrow 时没有名为“Cython”的模块
- wpf - 更改基于/继承样式中的触发器顺序
- html - Typescript Angular 5向组件动态添加css