我可以使用普通的负载均衡器公开Kubernetes服务吗?

时间:2019-07-26 11:48:34

标签: kubernetes google-kubernetes-engine

是否建议使用指向我的Kubernetes服务的普通Google Cloud Load Balancer?

我是Kubernetes的新手,我对普通的Google Cloud Balancers的配置方式更加熟悉。

3 个答案:

答案 0 :(得分:2)

它的AFAIK没什么问题,尽管拥有更多Kubernetes经验的人可能比GCP / Terraform / ...可能有点不寻常。

有关某些背景知识,请参见Kubernetes文档中对LoadBalancer type services的讨论。特别是有关LoadBalancer服务的注意事项

  自动创建外部负载均衡器路由到的

NodePortClusterIP服务。

如果愿意,您可以手动执行相同的操作:创建NodePort类型的服务,然后创建一个外部负载均衡器,该负载均衡器路由到任何或所有节点上的该公开端口。跟踪节点列表是一个潜在的问题,您要么需要静态分配nodePort:值,要么在创建服务后找到它们。

根据组织的结构,即使开发团队可以将自己的代码部署到集群中,您也可能会要求您的运营团队设置外部负载均衡器,这可能很好(“治理” )或不良(“僵化”)。

答案 1 :(得分:1)

如果使用LoadBalancer类型服务[1],将为您提供一个网络负载平衡器,您可以使用kubernetes yaml对其进行配置。

但是,根据本[2]教程,如果要公开HTTP(S)服务,最好使用NodePort类型的服务,并创建一个Ingress对象,该对象为该对象创建HTTP(S)负载均衡器你。

这些是比较惯用的,因此,除非它们不能满足您的需求,否则我将首先尝试其中的一种。

[1] https://cloud.google.com/kubernetes-engine/docs/concepts/service#services_of_type_loadbalancer

[2] https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer

答案 2 :(得分:0)

不同的负载平衡器更多地是关于您要做什么。

如果您想进行多区域操作,这就是GCLB发挥作用的地方 enter link description here

如果您不计划或不需要多区域,则没有理由实施它。有关更多信息,我可能会从这里开始

https://cloud.google.com/kubernetes-engine/docs/how-to/exposing-apps https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing https://cloud.google.com/kubernetes-engine/docs/how-to/container-native-load-balancing