gpt4 book ai didi

kubernetes - 重新安装 helm 部署后重新使用 PersistentVolume

转载 作者:行者123 更新时间:2023-12-02 11:54:09 24 4
gpt4 key购买 nike

当我helm delete <deploymentname>部署的 PV 和 PVC 也被删除。当我helm install <deploymentname>时如何避免PV中的实际数据被删除并能够回收这些PV再次?

我正在使用 helm upgrade定期但如果删除所有数据所需的只是 helm delete(即使没有 --purge 选项它也会删除所有 PV),这让我非常不舒服

最佳答案

如果您正在寻找删除和重新创建之间的持久性,则不应使用 Deployment但是 StatefulSet .有状态集旨在用于部署“类数据库”应用程序。

有状态集使用持久的 pod 命名并支持为每个 pod 生成 pvc,也具有持久的名称。当 pods/stateful sets 被删除时,这些 pvcs 不会被删除,因此它们保留以供重新创建的 stateful sets 或通过删除 pvc(s) 手动释放以供重用。

示例 StatefulSet取自 https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/附在下面。

apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: web
spec:
serviceName: "nginx"
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: k8s.gcr.io/nginx-slim:0.8
ports:
- containerPort: 80
name: web
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi

关于kubernetes - 重新安装 helm 部署后重新使用 PersistentVolume,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53186601/

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