使用 Kubernetes pod 到主机节点上的 运行 脚本
Use Kubernetes pod to run script on host node
我有一个 Daemonset,它将一个 pod 放置到我集群的所有节点上。该 pod 寻找一组条件。当它们被发现时,它应该在其节点上执行 bash 脚本。
目前,我作为守护程序集应用的 pod 使用 bash 脚本安装目录。我能够检测到我正在寻找的条件。当检测到条件时,我执行 bash 脚本,但它最终 运行 在我的 pod 内的 alpine 容器中,而不是在主机节点上。
作为对我不起作用的简单示例(在规范中):
command: ["/bin/sh"]
args: ["-c", "source /mounted_dir/my_node_script.sh"]
我想在 Pod 所在的节点 运行 上执行 bash 脚本,而不是在 container/pod 内。如何实现?
实际上,pod 内的命令 运行 在主机上是 运行。它是一个容器 (Docker),而不是虚拟机。
如果你的实际问题是你想做一些普通容器不允许的事情,你可以运行一个处于特权模式的 pod 或配置你真正需要的任何东西。
我有一个 Daemonset,它将一个 pod 放置到我集群的所有节点上。该 pod 寻找一组条件。当它们被发现时,它应该在其节点上执行 bash 脚本。
目前,我作为守护程序集应用的 pod 使用 bash 脚本安装目录。我能够检测到我正在寻找的条件。当检测到条件时,我执行 bash 脚本,但它最终 运行 在我的 pod 内的 alpine 容器中,而不是在主机节点上。
作为对我不起作用的简单示例(在规范中):
command: ["/bin/sh"]
args: ["-c", "source /mounted_dir/my_node_script.sh"]
我想在 Pod 所在的节点 运行 上执行 bash 脚本,而不是在 container/pod 内。如何实现?
实际上,pod 内的命令 运行 在主机上是 运行。它是一个容器 (Docker),而不是虚拟机。
如果你的实际问题是你想做一些普通容器不允许的事情,你可以运行一个处于特权模式的 pod 或配置你真正需要的任何东西。