当我已经将 pods 部署到我的节点时,我是否需要重新创建它们以更新或实施新服务?

When I already have pods deployed to my nodes, do I need to recreate them to make updates to or implement a new service?

我正在使用 Azure Kubernetes 服务,想知道创建新的负载平衡服务是否需要我重新创建我的部署。我已经做了一些试验,但我无法判断服务的响应是否只是因为启动时间而延迟并且我不耐烦,或者负载均衡器是否没有为现有部署创建端点(这看起来很奇怪我)

如果您只想公开服务,则无需重新部署应用程序。服务可以作为负载均衡器或其他类型公开。创建 LoadBalancer 类型的服务时,AKS 中的云控制器将创建 Load Balancer Azure 资源并根据现有端点设置后端配置。 Azure 负载均衡器配置可能需要一些时间,您可以使用 kubectl get svc 检查状态。如果 External-IP 的状态为 pending,则表示它正在创建中。负载平衡器将在几分钟内创建。如果耗时较长,您可能需要查看是否存在任何权限或其他配置问题。

$ kubectl create deploy nginx --image=nginx
deployment.apps/nginx created

$ kubectl expose deploy/nginx --port 80 --type LoadBalancer
service/nginx exposed


$ kubectl get svc nginx
NAME    TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
nginx   LoadBalancer   10.96.28.31   <pending>     80:30643/TCP   63s

$ kubectl get svc nginx
NAME    TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
nginx   LoadBalancer   10.0.13.232   52.nnn.nnn.nn   80:31540/TCP   111s