GCE LoadBalancer:字段'namedPorts [0] .port'的值无效:'0'。必须大于或等于1

时间:2017-08-17 14:49:52

标签: kubernetes load-balancing google-compute-engine google-kubernetes-engine

在我的一个HTTP(S)LoadBalancer中,我希望更改我的后端配置以将超时从30秒增加到60秒(我们有几个502没有任何日志服务器端,我想检查一下来自LB)

但是,当我验证更改时,我收到了错误

  

字段'namedPorts [0] .port'的值无效:'0'。必须更大   大于或等于1

即使我没有更改namedPort。

This问题似乎是一样的,但唯一的解决方案是在我的情况下不起作用的解决方法:

感谢您的帮助,

3 个答案:

答案 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

Instance Group -> Details -> Port name mapping

答案 2 :(得分:0)

经过多次尝试,我只是删除了入口对象并重新创建它,问题就消失了。更新时,在某处一定存在一个错误,该错误会留下工件。