Kubernetes 防止 PVC 被"Kubectl delete -f PVC_NAME"删除



>情况: 我的聚氯乙烯有问题。 我需要使用舵图来更新我们的监控。但是我们没有舵柄,所以我们必须使用 用于创建我们的 YAML 文件的 helm 模板,以便我们能够使用 kubectl 部署它。我们有时需要更新我们的掌舵图,因此我们需要经常重复该过程。

问题: 使用"Kubectl delete -f FILE_WITH_YAMLS.yaml && Kubectl create -f FILE_WITH_YAMLS.yaml",它将删除 一切,甚至我们的PVC(+PV(。但我不想删除 PVC。

溶液: 1.我的想法是应该禁止删除我们的PVC,以便我们收到删除它的警告。 根据这个: Kubernetes:无法删除 PersistentVolumeClaim (pvc( 应该可以设置

Finalizers:    [kubernetes.io/pvc-protection]

但它不起作用...

  1. 从 FILE_WITH_YAMLS.yaml 中删除 PVC。它不会再次被"kubectl delete -f FILE_WITH_YAMLS.yaml"删除。但是很容易忘记删除PVC,所以我认为它太冒险了。

  2. ???你有什么想法吗?

我的 PVC 表单群集如下所示:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-provisioner: cinder.csi.openstack.org
creationTimestamp: "2020-05-11T07:15:11Z"
finalizers:
- kubernetes.io/pvc-protection
labels:
app: prometheus
chart: prometheus-10.4.0
component: server
heritage: Tiller
release: monitoring
name: monitoring-prometheus-server
namespace: monitoring
resourceVersion: "114848084"
selfLink: /api/v1/namespaces/monitoring/persistentvolumeclaims/monitoring-prometheus-server
uid: 3430de7d-d167-41c7-92cc-eb15803cdca7
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 15Gi
storageClassName: cinder
volumeMode: Filesystem
volumeName: pvc-3430de7d-d167-41c7-92cc-eb15803cdca7
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 15Gi
phase: Bound

感谢您的任何帮助!

我没有尝试解决方案,但可能会起作用。标记要删除的资源,例如删除=真..等

之后在删除命令中指定标签,例如

kubectl delete -f *.yaml -l delete=true

相关内容

  • 没有找到相关文章

最新更新