`eksctl delete cluster`` не может удалить потерянный ресурс ELB Security Groups` имеет зависимый объект - PullRequest
0 голосов
/ 08 октября 2019
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"

Произошла ошибка (DependencyViolation) при вызовеОперация DeleteSecurityGroup: ресурс 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

Произошла ошибка (InvalidParameterValue) при вызове операции DeleteNetworkInterface: сетевой интерфейс '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 также не ссылается ... Я не уверен, как это исправить.

К вашему сведению, я не делал никаких специальных вещей AWS с этим кластером EKS. Нет пользовательских сетей или команд AWS. Я просто надеялся создать и удалить / воссоздать тестовые кластеры и пытаюсь устранить эту ошибку блокировки.

1 Ответ

0 голосов
/ 09 октября 2019

Решение было вручную удалить 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>
...