删除集群
使用完 Amazon EKS 集群后,应删除与其关联的资源,这样便不会产生任何不必要的费用。
要删除连接的集群,请参阅 从 Amazon EKS 控制台注销 Kubernetes 集群
重要
您可以使用 eksctl
、AWS Management Console或 AWS CLI 删除集群。
删除集群(eksctl)
此过程需要 eksctl
版本 0.190.0
或更高版本。可以使用以下命令来查看您的版本:
eksctl version
有关安装或升级 eksctl
的说明,请参阅 eksctl
文档中的 Installation
-
列出集群中运行的所有服务。
kubectl get svc --all-namespaces
-
删除具有关联的
EXTERNAL-IP
值的任何服务。这些服务的前面配置了一个 Elastic Load Balancing 负载均衡器,您必须从 Kubernetes 中将其删除才能释放负载均衡器和关联资源。kubectl delete svc service-name
-
-
使用以下命令(将
prod
替换为您的集群名称)删除集群及其关联的节点。eksctl delete cluster --name prod
输出:
[ℹ] using region region-code [ℹ] deleting EKS cluster "prod" [ℹ] will delete stack "eksctl-prod-nodegroup-standard-nodes" [ℹ] waiting for stack "eksctl-prod-nodegroup-standard-nodes" to get deleted [ℹ] will delete stack "eksctl-prod-cluster" [✔] the following EKS cluster resource(s) for "prod" will be deleted: cluster. If in doubt, check CloudFormation console
删除集群(AWS 控制台)
-
列出集群中运行的所有服务。
kubectl get svc --all-namespaces
-
删除具有关联的
EXTERNAL-IP
值的任何服务。这些服务的前面配置了一个 Elastic Load Balancing 负载均衡器,您必须从 Kubernetes 中将其删除才能释放负载均衡器和关联资源。kubectl delete svc service-name
-
删除所有节点组和 Fargate 配置文件。
-
请在左侧导航窗格中,选择 Amazon EKS Clusters(集群),然后在集群的选项卡列表中,选择要删除的集群的名称。
-
选择 Compute(计算)选项卡,然后选择要删除的节点组。选择 Delete(删除),输入节点组的名称,然后选择 Delete(删除)。删除集群中的所有节点组。
注意
只会列出托管节点组。
-
选择要删除的 Fargate Profile(Fargate 配置文件),选择 Delete(删除),输入配置文件的名称,然后选择 Delete(删除)。删除集群中的所有 Fargate 配置文件。
-
删除所有自行管理的节点 AWS CloudFormation 堆栈。
-
请选择要删除的节点堆栈,然后选择 Delete(删除)。
-
在 Delete stack(删除堆栈)确认对话框中,请选择 Delete stack(删除堆栈)。删除集群中的所有自行管理的节点堆栈。
-
请删除集群。
-
选择要删除的集群并选择 Delete(删除)。
-
在删除集群确认屏幕上,选择 Delete (删除)。
-
(可选)删除 VPC AWS CloudFormation 堆栈。
-
请选择要删除的 VPC 堆栈,然后选择 Delete(删除)。
-
在 Delete stack(删除堆栈)确认对话框中,请选择 Delete stack(删除堆栈)。
删除集群(AWS CLI)
-
列出集群中运行的所有服务。
kubectl get svc --all-namespaces
-
删除具有关联的
EXTERNAL-IP
值的任何服务。这些服务的前面配置了一个 Elastic Load Balancing 负载均衡器,您必须从 Kubernetes 中将其删除才能释放负载均衡器和关联资源。kubectl delete svc service-name
-
删除所有节点组和 Fargate 配置文件。
-
使用以下命令列出集群中的节点组。
aws eks list-nodegroups --cluster-name my-cluster
注意
只会列出托管节点组。
-
使用以下命令删除每个节点组。删除集群中的所有节点组。
aws eks delete-nodegroup --nodegroup-name my-nodegroup --cluster-name my-cluster
-
使用以下命令列出集群中的 Fargate 配置文件。
aws eks list-fargate-profiles --cluster-name my-cluster
-
使用以下命令删除每个 Fargate 配置文件。删除集群中的所有 Fargate 配置文件。
aws eks delete-fargate-profile --fargate-profile-name my-fargate-profile --cluster-name my-cluster
-
-
删除所有自行管理的节点 AWS CloudFormation 堆栈。
-
使用以下命令列出您的可用 AWS CloudFormation 堆栈。在生成的输出中查找节点模板名称。
aws cloudformation list-stacks --query "StackSummaries[].StackName"
-
使用以下命令(将
node-stack
替换为节点堆栈名称)删除每个节点堆栈。删除集群中的所有自行管理的节点堆栈。aws cloudformation delete-stack --stack-name node-stack
-
-
使用以下命令删除集群,同时将
my-cluster
替换为您的集群名称。aws eks delete-cluster --name my-cluster
-
(可选)删除 VPC AWS CloudFormation 堆栈。
-
使用以下命令列出您的可用 AWS CloudFormation 堆栈。在生成的输出中查找 VPC 模板名称。
aws cloudformation list-stacks --query "StackSummaries[].StackName"
-
使用以下命令删除 VPC 堆栈,同时将
my-vpc-stack
替换为您的 VPC 堆栈名称。aws cloudformation delete-stack --stack-name my-vpc-stack
-