Kubernetes apply -f - 中尾随“-”的用途是什么

Kubernetes apply -f - 中尾随“-”的用途是什么

我传递了以下内容,它从文件执行创建 kubernetes 机密的试运行appsettings.json,然后将其通过管道传输到 kubernetes apply。我认为将-f获取创建的机密的文件名--dry-run并在应用机密时使用该文件名,但我想知道尾随是否-有任何意义,或者它只是一个拼写错误?

kubectl create secret generic test --from-file=appsettings.json --dry-run -oyaml | kubectl apply -f -

答案1

这个-角色可以理解为占位符用于管道命令的输出(使用|字符)。通过使用它,我们可以非常具体地指示后续命令(输出通过管道传输到的命令),第一个命令的标准输出(它的执行结果)应该放在哪里,换句话说应该如何看待或解析

因此,不要通过管道传输以下结果:

kubectl create secret generic test --from-file=appsettings.json --dry-run -oyaml

(恰好是 yaml 清单)

直接发送至:

kubectl apply -f

它不知道如何处理这样的输入(因为它期望在-f标志后有一个文件),我们非常精确地指出它适合的位置:

                

答案2

是选项-的一个参数-f,表示接受来自标准输入而不是命名文件的输入。数百个 UNIX/Linux 命令都有这样的选项。

相关内容