eksctl delete cluster --region=us-west-2 --name=myeks-2
[ℹ] using region us-west-2
[ℹ] deleting EKS cluster "myeks-2"
[ℹ] cleaning up LoadBalancer services
[✖] cannot delete orphan ELB Security Groups: cannot delete security group k8s-elb-aaa: DependencyViolation: resource sg-yyy has a dependent object
我创建了一个EKS集群,我掌管了一些东西,现在我想把它扔掉,然后重新创建,然后重试。似乎有一个孤立的ENI + SG无法删除,我也不明白为什么。
aws ec2 delete-security-group --group-id "sg-yyy"
调用DeleteSecurityGroup操作时发生错误(DependencyViolation):资源sg-yyy有一个依赖对象
我可以找到一个引用此安全组的网络接口:
aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-yyy | jq '.NetworkInterfaces[].NetworkInterfaceId'
如果我尝试删除它,我会得到
aws ec2 delete-network-interface --network-interface-id eni-xxx
调用DeleteNetworkInterface操作时发生错误(InvalidParameterValue):当前正在使用网络接口'eni-xxx'。
如果我这样做:
aws ec2 describe-instances > instances.json
aws ec2 describe-nat-gateways > nat-gateways.json
aws ec2 describe-network-acls > network-acls.json
aws ec2 describe-network-interfaces > network-interfaces.json
aws ec2 describe-security-groups > security-groups.json
然后是grep eni-xxx *.json
和grep sg-yyy *.json
,我得到三个结果:两个实体结果本身以及一个从eni-xxx到sg-yyy的引用。也没有EC2实例在引用...我不确定如何解决此问题。
仅供参考,我尚未使用此EKS集群完成任何自定义AWS任务。没有自定义网络或AWS命令。我只是希望创建和删除/重新创建测试集群,并试图解决此阻塞错误。
答案 0 :(得分:0)
解决方案是使用安全组手动删除ELB:
aws elb describe-load-balancers | jq '.LoadBalancerDescriptions[] | select (.SecurityGroups[] | contains("sg-yyy")) | .LoadBalancerName'
aws elb delete-load-balancer --load-balancer-name <load-balancer-name>