kubernetes kubeconfig exec -运行二进制文件以获取命令的路径

iyfamqjs  于 2023-05-16  发布在  Kubernetes
关注(0)|答案(1)|浏览(138)

我目前在我的kubeconfig中有这样的东西

exec:
      apiVersion: client.authentication.k8s.io/v1
      command: PATH_DETERMINED_VIA_BINARY/token_generator
      args:
        - --ACCESS_TOKEN
      interactiveMode: Never
      provideClusterInfo: false

我的问题是,在上面的PATH_DETERMINED_VIA_BINARY是通过运行一个名为tginfo的二进制文件获得的,如下所示

sudo tginfo path token --> This will return a path (like usr/lib/000012/)

现在,这是将包含上面命令中使用的二进制token_generator的路径。我的问题是如何调用tginfo binary来获取将在命令中使用的部分路径?

7gcisfzg

7gcisfzg1#

我对这个问题的理解是,您希望一个命令的输出作为另一个命令的一部分运行。在Linux中,您可以使用反引号(`)来实现这一点。例如,如果你想循环通过特定位置的项目。你会做:

for i in `ls`;…

所以理论上这样的东西会起作用。sudo tginfo命令位于反引号内,因此应该首先计算反引号,然后将其输出与字符串的其余部分合并。
再看看eval。如果这不起作用。

exec:
      apiVersion: client.authentication.k8s.io/v1
    command: ["/bin/sh"]
    args:  ["-c", "`sudo tginfo path token`/token_generator --ACCESS_TOKEN"]
      interactiveMode: Never
      provideClusterInfo: false

相关问题