绝对小矮人/库伯奈特新植物在这里。
我使用minikube和vm-driver = none (万一有关系)来部署一个应用程序,该应用程序允许我为供应卷指定一个storageClass,默认情况下它使用“标准”storageClass。
这是可行的,但这意味着应用程序中创建的所有数据都在/tmp/ (我相信是/tmp/hostpath_pv文件夹)中结束。
这让我很痒。我意识到minikube本身会在重新启动minikube时持久化这些数据,但是我害怕丢失/tmp文件夹的正常linux清理中的数据。
我希望能够创建一个新的storageClass (因为这是我在应用程序配置YAML中必须使用的唯一易于配置的选项),它可以使迷你库在/data目录中(或者其他不被操作系统自动清理的地方)持久存储。
有什么简单的方法吗?或者在/tmp中使用我的卷甚至是一个问题吗?
很抱歉整件勾当。谢谢你的帮助。
发布于 2022-01-26 09:54:41
另一个解决方案是第一次创建存储库(没有规定),然后是pv,pvc,最后是Pod。下面是我如何能够使它在Minikube工作:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: datacache-sc
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer然后创建PV:
apiVersion: v1
kind: PersistentVolume
metadata:
name: datacachepv-1
labels:
name: datacache
spec:
storageClassName: datacache-sc
persistentVolumeReclaimPolicy: Delete
accessModes:
- ReadWriteMany
capacity:
storage: 100Mi
hostPath:
path: /var/Cachebackup
type: DirectoryOrCreate然后PVC:
apiVersion: v1
metadata:
name: datacachepvc-1
spec:
storageClassName: datacache-sc
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Mi
selector:
matchLabels:
name: "datacache"最后把这个PVC装在Pod上:
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
app: testrunner
name: datacache
spec:
containers:
- image: abc.se/sandbox/xyz/myimage:0.1.2
name: datacache
ports:
- containerPort: 3645
hostPort: 3645
resources: {}
volumeMounts:
- name: datacache-conf
mountPath: /bin/datacache.conf
subPath: datacache.conf
readOnly: true
- name: datacache-volume
mountPath: /DBbackup
volumes:
- name: datacache-conf
configMap:
name: datacache-conf
items:
- key: datacache.conf
path: datacache.conf
- name: datacache-volume
persistentVolumeClaim:
claimName: datacachepvc-1https://serverfault.com/questions/981459
复制相似问题