在 DaemonSet 中处理 PersistentVolumeClaim

2024-01-04

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

Nodes

假设我有两个节点

  • node-A
  • node-B

Pods

daemonSet 将创建

  • 节点 A 上的 pod-A
  • 节点 B 上的 pod-B

持久数量声明

  • 我正在使用 AKS 并且想要使用azure-disk用于持久存储
  • According to the docs : [https://learn.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv https://learn.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv ]
    • 天蓝色磁盘可以关联到单个节点

说我创造

  • pvc-A 用于连接到节点 A 的 pv-A
  • pvc-B 用于连接到节点 B 的 pv-B

Question

我怎样才能关联pod-A on node-A to use pcv-A ?

UPDATE:

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

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


如果您在 daemonset 定义中使用 permanentVolumeClaim,并且 persistVolumeClaim 满足 PV 的类型hostPath,您的守护进程 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 绑定到一个 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,所以没问题。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 DaemonSet 中处理 PersistentVolumeClaim 的相关文章

随机推荐

  • TypeScript 文件被卡在 Chrome 调试器工具中?

    真正的神秘 最新的镀铬 ts 文件卡在调试器中并且不会更新 我清除缓存 没有任何变化 在调试器工具中 ts 文件保持冻结状态 我尝试退回服务器 关闭 Chrome 它回来卡住了 我尝试删除 js map 文件 没有任何变化 我尝试退回服务器
  • 错误“sqlserver_ado 不是可用的数据库后端”(IIS 上的 PyISAPe)

    当使用 IIS 为 Django 提供服务时 我在将 Django 项目连接到 SQL Server 2008 时遇到问题Django MSSQL http django mssql readthedocs org en latest in
  • Android kotlin mockMaker 问题

    你好 我正在尝试模拟一个最终类 因为 kotlin 中的所有类默认都是最终类 并在我的 gradle 中添加了以下依赖项 testImplementation junit junit 4 12 testImplementation au c
  • 用jquery拦截ajax请求显示BlockUI

    我正在尝试使用 jquery 拦截 ajax 请求 以显示等待消息 就像使用插件 BlockUI 一样 但是如何拦截由 asp net 框架提供的 UpdatePanel 发送的请求 有什么方法可以触发 Thanks 您可以使用开始请求 a
  • 未定义的索引[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我将一个文
  • 使用 Rails 4、邮件表单和 Ajax 发送电子邮件?

    我正在开发一个带有联系表单的应用程序 它是一个单页应用程序 我在后端使用 Rails 在前端使用 Angular 不适用于表单 和 Bootstrap 我正在尝试使用ajax 这样我就不必刷新页面 当我只是用rails 使用Mailform
  • neo4j cypher 将数组/列表转换为字符串

    我的图中的一种类型的边有一个称为roles 它是一个字符串数组 列表 它像是 Bill Smoke Haskell Moore Tadeusz Kesselring Nurse Noakes Boardman Mephi Old Georg
  • 对 mysql_real_escape_string 的每次调用都需要再次访问数据库吗?

    http php net manual en function mysql real escape string php http php net manual en function mysql real escape string ph
  • 如何在android xml中构建梯形形状?

    我想建立这个shape with bottom line and text在里面我有点困惑如何实现这个我累了 一些代码但没有得到所需的东西 到目前为止我已经尝试过这段代码 形状 xml
  • 以编程方式更改 Windows XP 中的默认代码页? (来自德尔福)

    谁能建议如何以编程方式更改默认的 Windows XP 代码页 我是在 Delphi 中执行此操作 这相当于进入控制面板 gt 区域设置 gt 非 Unicode 应用程序的语言 在这种情况下 我想切换到中文 中国 因此正在写入以下注册表字
  • HTML5 视频 - iPhone 上的当前时间设置不正确

    我设置了一个基本的 HTML5 视频 从中加载四个视频之一 我遇到的问题是 当我加载下一个视频时 它会从上一个时间位置继续播放 努力设定currentTime财产似乎要么是短暂的 要么是完全被忽视的 我已将侦听器添加到事件集合中 并且每个事
  • 将多个滤色器应用于同一个可绘制对象

    我想将多个滤色器串联应用到可绘制对象 那可能吗 或者也许创建一个过滤器 它是我想要应用的过滤器的组合 例如 我想要 Drawable d d setColorFilter 0x3F000000 Mode OVERLAY setColorFi
  • strlen 和 malloc:C 内存泄漏

    这个问题是无效的 我没有正确地释放学生 我会尽快接受向我透露这一点的答案 我是 C 新手 正在练习 malloc 从宏观上讲 我正在编写一个链表库 这个 create student 函数是我将用来测试我的链表库的许多函数之一 问题是 我运
  • 如何动态查看PL/SQL中变量的类型?

    此链接显示如何在 Oracle 中获取过程 函数变量的类型 查看变量的类型 https stackoverflow com questions 17134293 how to view the type of a variable in p
  • 为什么在大多数编程语言中数组索引都是从零开始的?

    C C C D Java 都是从零开始的 Matlab 是我所知道的唯一从 1 开始的语言 在 C 和 C 中 数组是从零开始的 因为它表示距项目列表开头的偏移量 这两行在 c 中具有相同的结果 anArray 3 4 anArray 3
  • NameError——当脚本分解为多个 python 文件时导入的模块

    很难找到这个问题的标题 希望这个线程不是重复的 我正在为一个项目使用 Python 2 7 使用 PyCharm 2016 2 2 编写这么长的脚本 并决定将其拆分为不同的 py 文件 然后我可以将其导入到主文件中 不幸的是 似乎在代码中较
  • 通知徽章在 Android O 中不起作用

    在 Android O 开发者预览版中 谷歌引入了通知徽章 这些徽章应该显示在启动器图标上 我正在使用来自开发通道的 Android O 模拟器 我编写了一个简单的代码来显示通知徽章 但它似乎不起作用 Notification notifi
  • C++ 文本文件读取

    所以我需要一点帮助 我目前有一个文本文件 其中包含以下数据 myfile txt b801000000 我想做的是将 b801 等数据读取为位 这样我就可以获取值 0xb8 0x01 0x00 0x00 0x00 目前我正在使用以下 typ
  • 从 pug 读取环境变量

    我正在使用 pug 编译静态 html 我自己的静态站点生成器 有点 除了 package json 文件中的这一行之外 我没有 node js 服务器代码 watch pages pug O options json w pages ou
  • 在 DaemonSet 中处理 PersistentVolumeClaim

    我有一个DaemonSet创建 flink 任务管理器 Pod 每个节点一个 Nodes 假设我有两个节点 node A node B Pods daemonSet 将创建 节点 A 上的 pod A 节点 B 上的 pod B 持久数量声