Kubernetes 服务 externalIPs 不转发

Kubernetes service externalIPs not forwarding

我有一个 Kubernetes 集群 运行 1.2.3 二进制文件和 flannel 0.5.5。我正在使用启用了 IP 转发的 GCE 后端。出于某种原因,虽然我指定了特定节点的外部 IP 地址,但它不会转发到相应的节点。

此外,我无法创建外部负载平衡器,控制器管理器说它找不到作为节点的 gce 实例,它们处于就绪状态。我查看了创建负载均衡器的来源,我猜是权限问题(我为集群提供了 gce 的完全权限)或者它没有找到元数据。

以下是相关服务的示例:

kind: "Service"
apiVersion: "v1"
metadata:
  name: "client"
spec:
  ports:
    - protocol: "TCP"
      port: 80
      targetPort: 80
      name: "insecure"
    - protocol: "TCP"
      port: 443
      targetPort: 443
      name: "secure"
  selector:
    name: "client"
  sessionAffinity: "ClientIP"
  externalIPs:
    - "<Node External IP>"

当我尝试创建负载平衡器时,它有 type: LoadBalancer

为什么转发到节点 IP 不起作用?我对负载平衡器问题有一个想法,但如果有人有任何见解?

所以我最终通过创建外部负载均衡器解决了这个问题。这样我才有了有效的外网IP。