【问题标题】:How to delete a kubernetes cluster using kops without deleting EBS persistent volume that I used for my database?如何使用 kops 删除 kubernetes 集群而不删除我用于数据库的 EBS 持久卷?
【发布时间】:2021-04-25 16:53:33
【问题描述】:

当我尝试删除在 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

【问题讨论】:

  • 在集群消失后,您希望 ESB 卷能够做什么?
  • 当我在几天或几周后再次创建集群以部署我的应用程序(实验目的)时,我将通过在 spec:spec: 下分配其 volumeID 再次将此卷用于我的数据库 pod 987654329@ 在 kubernetes 清单中。

标签: amazon-web-services kubernetes kops


【解决方案1】:

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

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

【讨论】:

  • 正如我在问题中提到的,我执行了直到第 4 步的命令。然后我按照您的建议从 EBS 卷中删除了所有标签。然后我做了kops delete cluster ${NAME} --yes。结果,集群被成功删除,留下了 EBS 卷。它如我所愿地完美运行。非常感谢。 :-)
  • 我能够删除 AWS UI 中的标签并删除集群,如 this video 所示。但是,如果有办法使用任何 cli 删除 EBS 卷的标签,那就太好了。请写在这里,如果有人知道如何使用任何 CLI 来做到这一点。谢谢。
猜你喜欢
  • 1970-01-01
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
  • 2019-05-05
  • 2015-07-05
  • 1970-01-01
相关资源
最近更新 更多