没有公共IP的GKE负载均衡服务

Wil*_* E. 1 kubernetes google-kubernetes-engine

我有一个带有负载均衡器的GKE服务,但是我想在其他服务内部使用它,例如,我不想将公共IP分配给它

如果没有专用VPN并忙于防火墙设置,是否可能?

所有其他负载平衡(如kube-dns)功能都可以正常工作,并且对于Container Engine中的服务,不需要公共IP

所有节点都位于相同的区域和区域中,因此我不需要也不必关心多区域功能

小智 7

GKE 现在支持内部负载平衡

apiVersion: v1
kind: Service
metadata:
  name: [SERVICE-NAME]
  annotations:
    cloud.google.com/load-balancer-type: "Internal"
  labels:
    app: echo
spec:
  type: LoadBalancer
  loadBalancerIP: [IP-ADDRESS]
  ports:
  - port: 9000
    protocol: TCP
  selector:
    [KEY]: [VALUE]
Run Code Online (Sandbox Code Playgroud)

请注意注释:cloud.google.com/load-balancer-type: "Internal"。这将在您的VPC中创建一个具有可路由的私有IP地址的LoadBalancer服务。

Bitnami在这方面也有一篇很棒的博客文章: creation-private-kubernetes-clusters-on-gke