首页 > 解决方案 > 如何使用 kops 删除 kubernetes 集群而不删除我用于数据库的 EBS 持久卷?

问题描述

当我尝试删除在 AWS 中运行的 kubernetes 集群时,它按预期删除了所有相关资源,例如我的应用程序的负载均衡器、自动缩放组、EC2 实例及其 EBS 卷。但是,它也删除了我用作持久卷的 EBS 卷。幸运的是,我有一个快照可以从中创建一个 EBS 卷。当我想在不影响用于数据库的 EBS 卷的情况下删除集群时,如何避免这种情况?

我按照以下步骤删除了我的集群。

  1. Kubectl delete -f my-applicaton.yml(终止所有服务和部署,包括数据库 pod)
  2. 将持久卷的回收策略从更改DELETERETAIN
  3. kubectl delete pvc db-pvc(已删除持久卷声明)
  4. kubectl delete pv db-pv(已删除持久卷)
  5. kops delete cluster --name ${NAME} --yes

标签: amazon-web-serviceskuberneteskops

解决方案


要防止 kOps 删除 EBS(弹性块存储)卷,您需要删除 EBS 卷上的所有标签。然后,您可以将其添加到新集群中的 PV 以重用它:

awsElasticBlockStore:
  volumeID: <vol-123>
  fsType: ext4

推荐阅读