我有一个DaemonSet,它创建flink任务管理器荚,每个节点一个。
节点
假设我有两个节点
豆荚
daemonSet将创建
持久性数量索赔
azure-disk进行持久存储
说我创造
问题
如何将pod on 节点-A用于使用pcv-A?
更新:
在谷歌上搜索了很多之后,我偶然发现使用StatefulSet可能会更好/更干净。这确实意味着您将无法像每个节点一样通过DaemonSet获得可用的特性。
https://medium.com/@zhimin.wen/persistent-volume-claim-for-statefulset-8050e396cc51
发布于 2020-03-08 16:03:48
如果在守护进程定义中使用persistentVolumeClaim,并且persistentVolumeClaim满足PV的hostPath类型,则守护进程荚将读取和写入由hostPath定义的本地路径。这种行为将帮助您使用一个PVC隔离存储。
这可能不直接适用于您的情况,但我希望这对将来搜索"volumeClaimTemplate for DaemonSet“之类的人有帮助。
使用与cookiedough相同的示例(谢谢!)
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: x
namespace: x
labels:
k8s-app: x
spec:
selector:
matchLabels:
name: x
template:
metadata:
labels:
name: x
spec:
...
containers:
- name: x
...
volumeMounts:
- name: volume
mountPath: /var/log
volumes:
- name: volume
persistentVolumeClaim:
claimName: my-pvc并且PVC是与PV绑定的(请注意,只有一个PVC和一个PV!)
apiVersion: v1
kind: PersistentVolume
metadata:
creationTimestamp: null
labels:
type: local
name: mem
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
hostPath:
path: /tmp/mem
type: Directory
storageClassName: standard
status: {}您的守护程序荚实际上将在每个节点上使用/tmp/mem。(每个节点上最多有一个守护程序荚,所以这很好。)
发布于 2019-03-14 14:55:18
将PVC连接到您的DaemonSet吊舱上的方法与使用其他类型的吊舱的方法没有任何不同。创建您的PVC,并将其作为一个卷到吊舱。
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: my-pvc
namespace: x
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi这就是DaemonSet清单的样子:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: x
namespace: x
labels:
k8s-app: x
spec:
selector:
matchLabels:
name: x
template:
metadata:
labels:
name: x
spec:
...
containers:
- name: x
...
volumeMounts:
- name: volume
mountPath: /var/log
volumes:
- name: volume
persistentVolumeClaim:
claimName: my-pvchttps://stackoverflow.com/questions/55165517
复制相似问题