2017-05-31 25 views
0

我正在使用--cloud-provider=aws标志将Kubernetes与AWS集成。我可以使用下面的命令通过ELB创建和公开服务:删除服务时不删除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

什么'kubectl'和'controller'版本,你运行? –

+0

Kubernetes 1.6.4 – jeffreyveon

回答

0

您的服务删除命令似乎有错字。

它应该是kubectl delete services sample-nginx-service

我刚刚在我的AWS群集上尝试了这一点,并确认ELB在运行后已成功删除。

我正在Kubernetes 1.6.2与1.6.3 kubectl

+0

当我编写答案时,我实际上犯了一个错字 - 我运行的命令实际上是'sample-nginx-service'而不是'sample-nginx'。 – jeffreyveon

+0

更新后的答案'kubectl删除服务sample-nginx-sample-nginx-service'仍然不起作用。 – dkeitel

+0

在删除你的服务之后,提供'kubectl describe svc,deployment,pod -lrun = sample-nginx'的输出会很有用。 – dkeitel

0

你能做到同样的方法,只是一个配置文件,看看它的命令或配置有关?

+0

谢谢,我试过,但无济于事。事实证明,这是我使用的etcd版本的一个问题。升级它解决了这个问题。 – jeffreyveon