【问题标题】:Name kubernete generated Google cloud ingress load balancer命名 kubernetes 生成谷歌云入口负载均衡器
【发布时间】:2015-10-14 13:41:43
【问题描述】:

我有多个具有 Google 支持的负载平衡器(入口 lbs)的 kubernetes 集群。

所以现在要访问我的 k8s 集群服务,我只需 ping $ kubectl get service 提供的公共 IP,很酷。

我的问题是,有时我需要拆除/创建集群,重新配置服务,这些服务可能很快也需要 SSL 证书,而且我的集群/服务的构建也需要易于重现(对于云开发人员!) .

问题很简单:我可以使用入口负载平衡器主机名来代替入口负载平衡器 IP 吗?

${LOAD_BALANCER_NAME}.${GOOGLE_PROJECT_NAME}.appspot.com 这样的东西会非常棒。

【问题讨论】:

  • 您认为为什么需要频繁拆除集群?您是否为每个 Dev 创建一个单独的集群,并在不使用时将其拆除以节省成本?
  • 是的,还要更改集群范围或机器类型,我必须拆除整个集群并创建一个新集群,使用以下脚本:gist.github.com/azr/13e72daa9ec968f52d5d 这在开发中经常发生,而且真的很痛苦重新部署依赖项只是为了更改 ip :)

标签: google-compute-engine google-cloud-platform kubernetes


【解决方案1】:

Kubernetes 与谷歌云 DNS 的集成是一个没有即时时间表的功能请求(它会发生,我无法评论何时)。但是,您可以使用负载均衡器的静态 IP 创建 DNS 记录。

如果我正确理解了您的问题,您正在使用 L4 负载均衡器 (service.Type=LoadBalancer),并且您希望能够删除服务/节点等并继续使用相同的 IP(因为您有 DNS记录)。换句话说,您需要一个不依赖于服务生命周期的负载均衡器。这可以通过 L7 负载均衡器 [1] 和 [2] 或通过使用现有 IP [3] 重新创建服务来实现。

请注意,[1] 将负载均衡器与服务生命周期分开,但如果您关闭整个集群,您将失去负载均衡器。 [2] 绑定到 Ingress 资源,因此如果您删除集群并重新创建它,启动负载均衡器控制器 pod,然后重新创建相同的 Ingress 资源,它将使用现有的负载均衡器。另请注意,[1] 和 [2] 都依赖于将与 kubernetes 1.1 一起发布的“测试版”资源,如果您部署它们,我将不胜感激:)

[1]https://github.com/kubernetes/contrib/tree/master/service-loadbalancer

[2]https://github.com/kubernetes/contrib/pull/132

[3] github.com/kubernetes/kubernetes/issues/10323

【讨论】:

  • 你好,普拉桑斯!感谢您的回答。我很乐意使用 HEAD,但我认为它在 GKE 中并不容易?
  • 啊哈,你在 GKE 上。您必须等到我们为 [2] 发布 1.1。但是,您现在可以在正在运行的集群上部署 [1],并且您也可以将现有 ip 分配给每个 [3] 的服务。如果您需要帮助,请在 kubernetes slack 频道 (@beeps) 上给我留言
猜你喜欢
  • 2021-03-18
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
相关资源
最近更新 更多