我正在使用--cloud-provider=aws
标志将Kubernetes与AWS集成。我可以使用以下命令通过ELB创建和公开服务:
kubectl run sample-nginx --image=docker.io/nginx --port=80
kubectl expose deployment/sample-nginx --port=80 --target-port=80 \
--name=sample-nginx-service --type=LoadBalancer && \
kubectl annotate svc sample-nginx-service \
service.beta.kubernetes.io/aws-load-balancer-internal=0.0.0.0/0
这会在私有子网上的内部ELB上公开nginx服务。我也可以在ELB上访问该服务。
现在,当我删除服务时,服务被删除,但ELB却没有。这是我删除服务的方式:
kubectl delete services sample-nginx-service
任何可能出错的指针?运行删除命令时,我在kube-controller-manager
日志中没有看到任何错误。我应该检查哪些其他日志?
答案 0 :(得分:1)
从v3.0.17
升级到etcd v3.0.10
修复了此问题。我在控制器日志中发现了另一条消息,指出了这里的问题:
答案 1 :(得分:0)
您的服务删除命令似乎有拼写错误。
应为kubectl delete services sample-nginx-service
。
我刚刚在我的AWS群集上尝试过此操作并确认在运行此ELB后成功删除了ELB。
我用kubectl 1.6.3运行Kubernetes 1.6.2
答案 2 :(得分:0)
您可以使用配置文件执行相同的过程,看看它的命令或配置是否相关?