如何解决kubernetes pod动态命令行
我有一个第三方泊坞窗容器,该容器采用以下形式的参数:
docker run foo --arg1 val1 --arg2 val2
我已经在kubernetes中将其作为pod运行,如下所示:
spec:
containers:
- name: foo
image: foo
args:
- --arg1
- val1
- --arg2
- val2
这很好,但是我现在需要动态设置两个参数值。例如,val1是pod的名称/ id,而val2是运行Pod的节点的 zone (aws可用区)。
我能想到的唯一解决方案是,扩展容器以创建另一个运行包装器脚本的图像,该图像将查询这两个值,然后将它们传递给命令行。
我想知道是否有比这更优雅的解决方案。假设我们可以在 initContainer 中获取这些动态值。现在的问题是我们如何在主容器的命令行上传递它们。
PS:看来我们可以使用Downward API来获得广告连播的名称。但是,Downward API不会公开节点issue的标签。因此,对于这个问题,让我们认为我们的参数是任意的并且是动态获得的。
解决方法
您将能够按如下所述传递参数。
HOSTNAME env将提供POD_NAME的详细信息
AWS区域特定的详细信息。
OR
在初始化时运行kubectl命令,并将节点标签与--show-labels一起使用,以根据分配的pod节点获取特定于区域的详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。