gpt4 book ai didi

kubernetes - 意外删除的Kubernetes命名空间

转载 作者:行者123 更新时间:2023-12-02 12:14:46 26 4
gpt4 key购买 nike

我在Google云上有一个Kubernetes集群。我不小心删除了其中运行了几个Pod的 namespace 。幸运的是,pod仍在运行,但是 namespace 处于终止状态。

有没有办法将其恢复为 Activity 状态?如果没有,那么在此命名空间中运行的 pods 的命运将如何?

谢谢

最佳答案

有关使用各种工具备份和还原Kubernetes cluster 的一些有趣的文章:

https://medium.com/@pmvk/kubernetes-backups-and-recovery-efc33180e89d

https://blog.kubernauts.io/backup-and-restore-of-kubernetes-applications-using-heptios-velero-with-restic-and-rook-ceph-as-2e8df15b1487

https://www.digitalocean.com/community/tutorials/how-to-back-up-and-restore-a-kubernetes-cluster-on-digitalocean-using-heptio-ark

https://www.revolgy.com/blog/kubernetes-in-production-snapshotting-cluster-state

我想它们可能会有用,而不是将来而不是在您当前的情况下。如果您没有任何备份,那么您将无能为力。

请注意,在所有这些文章中,他们都使用namespace deletion模拟灾难场景,以便您可以想象这种操作的后果。但是结果可能不会立即显示,并且您可能会看到Pod运行了一段时间,但最终 namespace 删除删除了给定 namespace 中的所有kubernetes集群资源,包括LoadBalancersPersistentVolumes。可能需要一些时间。某些资源可能仍被另一资源使用(例如,通过运行PersistentVolumePod),因此可能无法删除。

您可以尝试运行this脚本来转储仍可用于yaml文件的所有资源,但是可能需要进行一些修改,因为您将无法再列出属于已删除 namespace 的对象。您可能需要添加--all-namespaces标志以列出它们。

您也可以尝试转储仍然手动可用的任何资源。如果仍然可以看到PodsDeployments等资源,并且可以在它们上运行kubectl get,则可以尝试将其定义保存到yaml文件中:

kubectl get deployment nginx-deployment -o yaml > deployment_backup.yaml

备份资源后,您应该能够更轻松地重新创建集群。

关于kubernetes - 意外删除的Kubernetes命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58375776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com