2017-05-31 38 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