将LoadBalancer添加到现有服务

遵循这个留言板教程 。

在接近尾声时,他们对如何创buildLoadBalancer或将NodePorts分配给服务进行了分类。 他们引用这个文档来描述不同的types以及他们做了什么,但是并没有详细讨论如何将它们应用到服务上。 有没有办法更新正在运行的服务,创build负载平衡器并将其连接到指定的端口?

使用amazon web services来托pipe我们的集群,它支持负载平衡器在创build一个服务很好,但我不知道如何修改服务。

编辑:

尝试这个导致了一个错误:

$ kubectl公开服务前端 – 端口= 80 –type = LoadBalancer
来自服务器的错误:服务“前端”已经存在

这是相当混乱,但显然kubectl expose只能创build一个新的服务,而不是更新现有的。 它表示,在现有服务上运行时,应该传递一个--name标志来指定所需的新服务名称,以避免您所看到的冲突。

要更新服务,您应该可以使用kubectl patchkubectl update 。 这可能不是最佳方法,但我个人倾向于通过运行kubectl get svc svc-name -o yaml > svc.yaml ,根据需要更新svc.yaml(在此情况下具有type: LoadBalancer来执行此类操作。然后kubectl update -f svc.yaml

我不确定这是否适合您的情况,但更激进和更简单的方法是删除服务(而不是部署):

 kubectl delete service 'service-name' 

并重新公开部署为LoadBalancer:

 kubectl expose deployment/'deployment-name' --type="LoadBalancer"