Kubectl设置环境变量并运行命令

2024-03-02

我有一个在 Kubernetes 上运行的容器,我想在其中从本地终端运行命令。基于其 yaml 文件的容器的工作目录位于/opt/gopath/src/a/。但是,我想在目录中运行命令/opt/gopath/src/b/。此外,在运行此命令之前我还需要设置某些临时环境变量。所以目前,这就是我正在做的事情:

kubectl exec $pod_name -- bash -c "cd ../b/; env ENV_VARIABLE_1=ENV_VALUE_2 && env ENV_VARIABLE_2=ENV_VALUE_2 && <cmd to run>".

目前这似乎正在发挥作用。但是,我不相信这是实现这一目标的最佳方法。另外,运行此命令会显示容器中的所有环境变量——如果可能的话,我希望不要打印这些变量。有人能指出我正确的方向吗?


如果是静态变量,我建议使用配置图 https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#define-pod-environment-variables-using-configmap-data.

由于您需要使用本地 shell 中的临时变量,因此无需使用又长又复杂的命令,因为 exec 将终端连接到正在运行的容器 (pod)。我测试了您的问题并在本地系统上创建了一个简单的环境变量。我使用了你提供的语法:

kubectl exec -it $pod_name -- sh -c 'key=123 key2=121; echo "$key $key2"'

要传递环境变量,您可以这样设置并添加分隔符“;”变量和命令之间。

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

Kubectl设置环境变量并运行命令 的相关文章

随机推荐

  • 如何通过对象内对象的改造来解析json数据?

    我在网上看到了很多用于改造的 JSON 示例 但无法找到我拥有的 json 结构类型 我无法解决它 我有以下 json 数据 我试图用 java 在我的 android 应用程序中显示它们 main data Date 2020 06 15
  • FFmpeg - 请求的输出格式“mpeg”不是合适的输出格式

    我正在尝试使用 FFmpeg 将视频从 mp4 格式转换为 mpeg 以便我可以合并多个视频 我有一个 FFmpeg 的自定义构建 我可以在其中控制配置选项 ffmpeg y i VID 20150514 171122 12085 mp4
  • Apache重写日志

    我收到 网页有重定向循环 错误 这很可能是由于我的 Apache 重写配置造成的 我以前遇到过这些问题 并且发现它们很难调试 是否有某种日志可以让我查看请求被重定向到的内容 如果没有 如何有效地调试 Apache 重写 如果您使用的是较新的
  • 如何为具有类型参数约束的泛型类型编写扩展方法?

    我正在使用特定于任务的 NET 平台 该平台是预编译的 而不是开源的 对于某些任务 我需要扩展此类 但不是通过继承它 我只是想添加一个方法 首先 我想向您展示一个虚拟代码现有类 public class Matrix
  • Android图像视图重力

    如何动态设置重力 Bitmap bmp im new ImageView this bmp getbmp img im setImageBitmap bmp 现在我想把图像放在顶部 我可以在没有的情况下做到这一点吗android gravi
  • 使用 AWS API Gateway 进行 API 版本控制

    我在使用 API Gateway Lambda 实现可行的版本控制方案时遇到问题 我的要求是在 API 级别进行主要版本控制 然后在服务级别进行次要版本控制 我的环境也分布在多个帐户中 因此暂存不是环境传播的选项 有人使用 AWS API
  • 如何构建 libjpeg 供 ndk 使用

    我下载了 libjpeg 8d 源代码 我想将其编译为 libjpeg so 可以在 android ndk 中使用 因为ndk使用arm架构 但我的PC的gcc是x86架构 所以当我使用gcc编译出libjpeg so并将其放入jni文件
  • 如何从终端重新加载 Google Chrome 标签?

    有没有办法仅使用终端在 Ubuntu 中重新加载 Google Chrome 选项卡 我不想只是打开一个新窗口 而是要实际刷新一个选项卡 额外问题 这在其他浏览器 例如 Opera Safari Firefox 中也可能吗 一个衬垫将聚焦
  • 如何将 django 调试工具栏设置为仅适用于某些用户?

    马上 是的 我知道 INTERNAL IPS 我即将在工作集成和测试中打开我的 Django 应用程序 我知道将会进行调试并进行大量修改和 或优化 所以我很乐意Django 调试工具栏 https github com django deb
  • 使用 URL 加载底部导航栏项目图标内的图像

    我正在尝试使用底部导航栏的项目图标内的 firebase 存储 url 加载个人资料图像 这是我的代码 Glide with getApplicationContext asBitmap load profilePicUrl into ne
  • AttributeError:尝试在 Discord.py 中创建按钮时,模块“discord”没有属性“ui”

    我想知道如何使用discord py 制作按钮 这将是我想要的一个例子 My Code import discord from discord ext import commands client commands Bot command
  • 如何知道按下的是什么字符键?

    我想知道在纯 Javascript 中以跨浏览器兼容的方式按下了什么字符键 清除 JavaScript function myKeyPress e var keynum if window event IE keynum e keyCode
  • 节省内存和编译时间

    有什么方法可以使用模块在 perl 中节省内存和编译时间吗 例如 不加载所有不必要的 未使用的子程序 或者 如果我将我的潜艇分成许多不同的 这是一个好方法pm文件 然后我只加载必要的模块 例如 usr bin perl w sub mysu
  • mkdir() 不工作

    My code mkdir some absolute path 0777 and mkdir relative path 0777 不起作用 安全模式已关闭 我什至尝试将所有父文件夹设置为 777 有任何想法吗 编辑 我确实打开了错误报告
  • 如何从memfd_create获取内存地址?

    在我的应用程序中我需要共享内存 父母和孩子之间 使用fork execl 我用memfd create分配内存 因为它提供了 文件描述符 可以方便地在子进程中使用 进程 描述符通过dup2 before execl 附加到分配的内存 我不使
  • 扁平列表和免费 monad

    我试图说服自己 List monad 具有平面列表 列表串联和按元素映射的列表 不是一个自由 monad 准确地说 是与某个函子 T 关联的自由 monad 据我了解 我应该能够通过以下方式实现这一目标 首先在 monad 列表中找到常用运
  • 如何将 JSON 转换为 GeoJSON

    我对 javascript 的学习还很陌生 我的基础知识已经碰壁了 我已经设置了一个传单地图 我希望从 JSON 中的绳索上绘制基于 divIcon 的标记 通过我无数次的研究 试图让它发挥作用 我了解到为什么我的 JSON 文件无法工作
  • Matplotlib imshow 中内存使用过多

    我有一个 PyQT4 应用程序 可以在 Matplotlib 图中显示中等大小的图像 我显示的测试图像约为 5Mb 2809 x 1241 像素 顺便说一下 我使用GDAL读取数据 图像被读入数组 其中无数据值被屏蔽 然后用标准化值和指定的
  • NetworkX - 删除节点并重新连接边

    我在图中有一个节点 充当一种 临时连接器 节点 我想删除该节点并更新图中的边 以便其所有直接前驱节点都指向其直接后继节点 是否有内置功能可以做到这一点networkx 或者我需要推出自己的解决方案吗 Example 我有一个图表1 gt 2
  • Kubectl设置环境变量并运行命令

    我有一个在 Kubernetes 上运行的容器 我想在其中从本地终端运行命令 基于其 yaml 文件的容器的工作目录位于 opt gopath src a 但是 我想在目录中运行命令 opt gopath src b 此外 在运行此命令之前