延迟容器启动,直到 pod 中的其他容器启动

2024-01-11

我正在研究一个用例,其中 sidecar 容器在更改主容器的目录权限时连续运行 shell 脚本。 我只想在 pod 中的主容器准备就绪后才启动侧容器。

我正在查看 Init Containers,我发现当我们具有 pod 间依赖关系时,init 容器是很好的候选者(pod A 仅在 Pod B 启动/健康后才启动)。

就我而言,只有在同一个 Pod 中启动容器 A 后,我才需要启动容器 B。

Deployment.yaml供参考

     containers:
    - name: {{ .Chart.Name }}
      securityContext:
        {{- toYaml .Values.securityContext | nindent 12 }}
      image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
      imagePullPolicy: {{ .Values.image.pullPolicy }}
   - name: container2
      image: some-repo
      imagePullPolicy: {{ .Values.image.pullPolicy }}

我不知道有任何 K8s 本机功能或挂钩可以满足您描述的用例。

我会这样解决:

在与常规容器相同的 Pod 中运行 sidecar 容器,并让它执行一个脚本,该脚本会在继续检查目录权限之前对应用程序容器的就绪端点执行 ping 操作。

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

延迟容器启动,直到 pod 中的其他容器启动 的相关文章

随机推荐

  • 如何衡量计算着色器的时间性能?

    我需要测量计算着色器的时间 但这当然不是小事 从OpenGL 维基 性能 https www opengl org wiki Performance我知道 在着色器调用之前和之后使用 glFinish 很有用 但他们也说使用它并不是那么好
  • 模拟器和合成器之间初始化状态机的差异

    我的问题是关于合成状态机中使用的第一个状态 我正在使用莱迪思 iCE40 FPGA 用于仿真的 EDA Playground 和用于综合的莱迪思 Diamond Programmer 在下面的示例中 我生成一系列信号 该示例仅显示引用状态机
  • Chart.js:从canvas获取图表数据

    我有几个 Chart js 图表 以后可能需要更新 当我需要更新图表时 是否可以从canvas元素中提取myChart对象 或者我是否必须在全局范围内保存每个 myChart 对象 for var i 1 i lt 5 i createCh
  • PyMC3 将随机协方差矩阵传递给 pm.MvNormal()

    我尝试使用 PyMC3 将简单的 2D 高斯模型拟合到观察到的数据 import numpy as np import pymc3 as pm n 10000 np random seed 0 X np random multivariat
  • 为什么Java认为从10到99所有数字的乘积都是0?

    以下代码块的输出为 0 public class HelloWorld public static void main String args int product 1 for int i 10 i lt 99 i product i S
  • AS3 Blitting - 复制像素获取一些源图像

    我试图在屏幕上绘制一些内容 然后将其复制到舞台上的位图上 我以前已经这样做过 用程序绘制的形状如圆形 但当我使用库项目时 大多数源像素都会被切断 这是我的代码 在另一个函数中 位图对象被添加到舞台上 我可以看到 copyPixels 工作
  • TFS Git - 拉取请求“合并失败”

    您好 我在 TFS 和 git pull requests 方面遇到了这个问题 我们有两个主要分支 掌握 发展 所以我创建新分支 async data loadingdevelop并对其进行一些更改 接下来 我提交更改并将其推送到远程 as
  • 当div高度未设置时,如何让html表格高度=父div的高度

    我有一个 html 表 位于 div 内 div 的高度基于 div 中的其他元素 如何让表格的高度等于其父 div 的高度 表格高度 100 不起作用 因为未设置div的高度 Update 我需要支持 IE6 7 8 因此这些浏览器应该能
  • ios core data如何实现sql事务功能?

    就像标题一样 我使用核心数据来插入项目 我插入了100个项目 它太慢了 如何提高插入速度 Core Data有哪些交易功能 lt NSManagedObjectContext gt undoManager beginUndoGrouping
  • 如何在 Django 模板中使用域 get_absolute_url ?

    所以我有点挣扎 一些逻辑上看起来很简单的东西 但由于我对 Django 的理解有限 我不确定在哪里寻找以及如何制定解决方案 基本上我设置了一个博客应用程序 它在主页上显示完整的 所有内容 包括 disqus 讨论 最新帖子 该帖子还有一个指
  • 检测objective-c中for()循环的真正结束

    我将在我的应用程序中显示一种 UIActivityIndi catorView 同时在 for 循环内解析多个 JSON 对象 我不知道必须在哪里放置 UIActivityIndi catorView startAnimating 和 UI
  • keyof T 的默认类型不能用于索引类型 T

    我正在尝试重构此代码以使用静态方法 因为该类仅用于命名空间和Query equal
  • 检查包含任意顺序的 3 个连续字母和 2 个数字的字符串

    我似乎无法理解这个问题 我想我应该在这里寻求一些帮助 基本上我正在验证密码字段 要求如下 必须包含3个连续字母 必须包含至少 2 位数字 可以是任何顺序 例如 1abc342 abc24g3 11abcsjf 这是我到目前为止所拥有的 但我
  • WebSphere MQ 确认和回复队列

    我们通过远程队列定义 CLIENT DATA 传输队列 发送 接收通道等 从队列管理器 QM MINE 队列管理器 QM CLIENT 和队列 CLIENT DATA 发送 XML 文本消息 消息到达目的地 客户端的 CLIENT DATA
  • 通过比较另一个图像的强度来更改图像的强度 - OpenTK

    我有两个图像 我必须找到第一张图像中强度大于 0 8 的点 同时 我必须找到第二张图像在相同点上的强度 并且需要使用阈值 滑块值 范围从 0 到 1 调整第二张图像在相同点上的光线 我已经做了如下 点上出现黑色或深色区域的强度大于 0 8
  • 将 csv 文件的前 x 行读取到新的输出文件中?

    如何只复制 a 的前 x 行csv文件到一个新的csv通过终端文件 Brief 您将使用 Linux 终端 控制台 Use head n NUMBEROFLINES file csv获得第一NUMBEROFLINES的线路 使用 shell
  • 选择具有特定值的行之后的行

    嘿 再次 我仍然掌握查询和其他东西 所以请原谅所有常见的 SQL 问题 8 无论如何 我试图选择某个值之后的行 不明白 好吧 这就是它实际的样子 表 消息 message id thread id user id to id body me
  • 跨浏览器剪贴蒙版

    我的网站有导航 以矩形按钮列表的形式呈现有圆角 每个按钮都应该有自己的自定义背景 即照片 照片比按钮大 并且应该随着鼠标在该按钮上的移动而移动 我们有一种效果 就像我们透过窗户看一样 导航具有以下 HTML 结构 ul gt li gt a
  • Android CalendarProvider 事件颜色

    我最困惑的是如何在 Android CalendarProvider 中使用颜色 我可以添加事件 但是当我尝试插入具有特定颜色的事件时 默认日历颜色 浅蓝色 似乎会忽略此首选项 我想我不太确定如何使用颜色 我想知道是否有人可以好心地解释一下
  • 延迟容器启动,直到 pod 中的其他容器启动

    我正在研究一个用例 其中 sidecar 容器在更改主容器的目录权限时连续运行 shell 脚本 我只想在 pod 中的主容器准备就绪后才启动侧容器 我正在查看 Init Containers 我发现当我们具有 pod 间依赖关系时 ini