问题描述
我正在使用Azure Kubernetes Services,想知道创建新的负载平衡服务是否需要我重新创建部署。我已经进行了一些试验,但是我无法确定服务的响应是否只是由于启动时间而延迟并且我没有耐心,或者负载均衡器是否没有为现有部署创建端点(这似乎很奇怪我)
解决方法
如果您只想公开服务,则无需重新部署应用程序。可以将服务公开为负载平衡器或其他类型。当创建类型为LoadBalancer的服务时,AKS中的云控制器将创建Load Balancer Azure资源并根据现有端点设置后端配置。 Azure负载平衡器置备可能需要一些时间,您可以使用kubectl get svc
检查状态。如果External-IP
的状态为待定,则表示它正在创建中。几分钟后将创建负载均衡器。如果花费的时间更长,则可能必须查看是否存在任何权限或其他配置问题。
$ 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