在我的一个HTTP(S)LoadBalancer中,我希望更改我的后端配置以将超时从30秒增加到60秒(我们有几个502没有任何日志服务器端,我想检查一下来自LB)
但是,当我验证更改时,我收到了错误
字段'namedPorts [0] .port'的值无效:'0'。必须更大 大于或等于1
即使我没有更改namedPort。
This问题似乎是一样的,但唯一的解决方案是在我的情况下不起作用的解决方法:
感谢您的帮助,
答案 0 :(得分:12)
我遇到了同样的问题而且@tmirks的修复对我不起作用。
在尝试GCE一段时间后,我意识到问题出在服务上。
默认情况下,除非您另有指定,否则所有服务均为type: ClusterIP
。
长话短说,如果您的服务没有公开为type: NodePort
,那么GCE负载均衡器就不会将流量路由到它。
From the official Kubernetes project:
nodeport是GCE Ingress控制器(以及一般的云控制器)的要求。像nginx入口控制器这样的“本地”控制器可与clusterip配合使用:
答案 1 :(得分:11)
我确定OP现在已经解决了这个问题,但是对于其他人来说,这可能对你有用:
GCE Load Balancer UI中存在各种错误。如果意外添加空前端IP /端口组合,它将在名为port0
的实例组中创建一个名为0
的命名端口。您可能甚至没有意识到这发生了,因为您在控制台中看不到空的前端映射。
要解决此问题,请编辑实例组并从端口名称映射列表中删除port0
。
答案 2 :(得分:0)
经过多次尝试,我只是删除了入口对象并重新创建它,问题就消失了。更新时,在某处一定存在一个错误,该错误会留下工件。