【问题标题】:Kubernetes/AWS - ELB is not deleted when the service is deletedKubernetes/AWS - 删除服务时不会删除 ELB
【发布时间】:2017-05-31 15:42:48
【问题描述】:

我正在使用 --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 日志中没有看到任何错误。我还应该检查哪些其他日志?

【问题讨论】:

  • 你在运行什么kubectlcontroller 版本?
  • Kubernetes 1.6.4

标签: amazon-web-services kubernetes


【解决方案1】:

v3.0.10 升级到 etcd v3.0.17 解决了这个问题。我在控制器日志中发现了另一个日志,它指出了这里的问题:

https://github.com/kubernetes/kubernetes/issues/41760

【讨论】:

    【解决方案2】:

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

    应该是kubectl delete services sample-nginx-service

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

    我正在使用 kubectl 1.6.3 运行 Kubernetes 1.6.2

    【讨论】:

    • 我在写答案时实际上打错了 - 我运行的命令实际上是 sample-nginx-service 而不是 sample-nginx
    • 您更新后的答案kubectl delete services sample-nginx-sample-nginx-service 仍然无效。
    • 在您删除服务后提供kubectl describe svc,deployment,pod -lrun=sample-nginx 的输出会很有用。
    【解决方案3】:

    你能用一个配置文件做同样的过程,看看它是命令还是配置相关?

    【讨论】:

    • 谢谢,我试过了,但无济于事。原来是我使用的 etcd 版本有问题。升级它解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2013-10-03
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2023-02-14
    相关资源
    最近更新 更多