如何在不删除我用于数据库的 EBS 持久卷的情况下使用 kops 删除 kubernetes 集群?

How to delete a kubernetes cluster using kops without deleting EBS persistent volume that I used for my database?

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

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

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

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

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