gpt4 book ai didi

kubernetes - 在 DaemonSet 中处理 PersistentVolumeClaim

转载 作者:行者123 更新时间:2023-12-03 19:01:35 24 4
gpt4 key购买 nike

我有一个 DaemonSet它创建了 flink 任务管理器 pod,每个节点一个。

节点

假设我有两个节点

  • 节点-A
  • 节点-B

  • pod

    daemonSet 将创建
  • 节点 A 上的 pod-A
  • 节点 B 上的 pod-B

  • 持久卷声明
  • 我在 AKS 上并想使用 azure-disk用于持久存储
  • 根据文档:[ https://docs.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv ]
  • 一个 Azure 磁盘可以关联到单个节点

  • 说我创造
  • pvc-A 用于连接到节点 A 的 pv-A
  • pvc-B 用于连接到节点 B 的 pv-B

  • 问题

    如何关联 pods -A 节点-A 使用 PCV-A ?

    更新:

    经过多次谷歌搜索,我偶然发现使用 StatefulSet 可能会更好/更清洁。这确实意味着您将无法通过 DaemonSet 获得可用的功能,例如每个节点一个 pod。

    https://medium.com/@zhimin.wen/persistent-volume-claim-for-statefulset-8050e396cc51

    最佳答案

    如果您在守护进程定义中使用了 persistentVolumeClaim,并且 persistentVolumeClaim 对类型为 hostPath 的 PV 感到满意,您的守护程序 pod 将读取和写入 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 绑定(bind)到一个 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: {}

    您的守护程序 pod 将实际使用 /tmp/mem在每个节点上。 (每个节点上最多有 1 个守护进程 pod,所以这很好。)

    关于kubernetes - 在 DaemonSet 中处理 PersistentVolumeClaim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55165517/

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